SE_shape_overlay

Overlays two shapes

Usage syntax

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

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

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.

Returns

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

Notes

∙  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.