SE_shape_get_all_points |
Returns the point array of a shape
LONG SE_shape_get_all_points (const SE_SHAPE shape, SE_ROTATION_TYPE rotation, LONG *part_offsets, LONG *subpart_offsets, SE_POINT *point_array, LFLOAT *z, LFLOAT *measure);
shape | A handle to an active shape object |
rotation | The winding rule to follow when returning points; only valid for polygons |
part_offsets | The part offsets; may be null |
subpart_offsets | The subpart offsets; if null, the part_offsets array will contain indexes directly into the point_array. |
point_array | A pointer to an allocated array of SE_POINT structures containing the requested points |
z | A pointer to an allocated array containing the z-values; may be null. |
measure | A pointer to an allocated array containing the measure values; may be null. |
Returns the point array of the entire shape including all its parts. The part_offsets, subpart_offsets, point_array, z, and measure pointers must be allocated to a size large enough to contain the points for the specified shape. If the z or measure parameters are NULL, then no z- or m-values are returned.
By default, ArcSDE stores points in a left-hand winding rule (e.g., the polygon interior is always to the left of the rings which comprise it). You can choose which rotation mode the points should be returned in by using the following:
typedef enum {
SE_DEFAULT_ROTATION,
SE_LEFT_HAND_ROTATION,
SE_RIGHT_HAND_ROTATION
} SE_ROTATION_TYPE
SE_SUCCESS
SE_COORD_OUT_OF_BOUNDS
SE_INVALID_POINTER
SE_INVALID_PARAM_VALUE
SE_INVALID_PART_OFFSET
SE_INVALID_SHAPE
SE_INVALID_SHAPE_OBJECT
SE_OUT_OF_CLMEM
∙ For more information on the part_offsets and subpart_offsets arrays, see Querying Functions.
∙ Ignores any CAD data