SE_shape_intersect

Returns the intersection (logical AND of space) of two shapes.

Usage syntax

LONG SE_shape_intersect (const SE_SHAPE primary_shape, const SE_SHAPE secondary_shape, LONG *num_shapes, SE_SHAPE **new_shapes);

Parameters
primary_shape A handle to an active shape object
secondary_shape A handle to an active shape object
num_shapes The number of shapes returned
new_shapes The address of a pointer to a shape object, which is returned as an array of active shape object handles containing the results
Description

SE_shape_intersect returns the intersection (the logical AND of space) of the specified primary_shape and secondary_shape, returning the resulting intersection as an array of handles to shape objects in new_shapes. The resulting clipped pieces are returned as a list of zero, one, or more shapes. This function allocates memory for the array of shape objects, and it should be deallocated by using the SE_shape_free_array function.

Returns

SE_SUCCESS
SE_COORD_OUT_OF_BOUNDS

SE_FAILURE

SE_INCOMPATIBLE_COORDREFS

SE_INVALID_ENTITY_TYPE

SE_INVALID_ENVELOPE

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 will not have z- or m-values.

∙  Ignores any CAD data