SE_shape_overlay |
Overlays two shapes
LONG SE_shape_overlay (const SE_SHAPE primary_shape, const SE_SHAPE secondary_shape, LONG *num_common_shapes, SE_SHAPE primary_remainder, SE_SHAPE **common_shapes, SE_SHAPE secondary_remainder);
primary_shape | A handle to an active shape object |
secondary_shape | A handle to an active shape object |
num_common_shapes | The number of shapes common to both shapes, returned in common_shapes |
primary_remainder | A handle to an active shape object, returned as the portions of the primary shape that don’t intersect the secondary shape |
common_shapes | A list of shapes that intersect both primary shape and secondary shape |
secondary_remainder | A handle to an active shape object, returned as the portions of the secondary shape that don’t intersect the primary shape |
SE_shape_overlay overlays the two specified shapes, and returns the resulting overlay as three pieces. Shapes that are common to both the primary and secondary shapes are returned as an array of shapes, each one of a different entity type (e.g., point, line, etc.). The pieces of the primary and secondary shapes that are not common to both are returned as two shapes: primary_remainder and secondary_remainder. SE_shape_overlay takes all shape types as input.
SE_SUCCESS
SE_FAILURE
SE_INCOMPATIBLE_COORDREFS
SE_INVALID_ENTITY_TYPE
SE_INVALID_POINTER
SE_INVALID_SHAPE
SE_INVALID_SHAPE_OBJECT
SE_OUT_OF_CLMEM
SE_SHAPE_INTEGRITY_ERROR
∙ This function works in 2-D space. Resulting shapes won’t have z- or m-values.
∙ Ignores any CAD data in the source shape and removes any CAD data in the target shape
∙ This function is not implemented yet for line-line and line-area combinations. This also affects SE_shape_difference, SE_shape_intersect, SE_shape_symmetrical_difference, and SE_shape_union.