SE_shape_get_all_points

Returns the point array of a shape

Usage syntax

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);

Parameters
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.
Description

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

Returns

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

Notes

∙  For more information on the part_offsets and subpart_offsets arrays, see Querying Functions.

∙  Ignores any CAD data