SE_shape_intersect |
Returns the intersection (logical AND of space) of two shapes.
LONG SE_shape_intersect (const SE_SHAPE primary_shape, const SE_SHAPE secondary_shape, LONG *num_shapes, SE_SHAPE **new_shapes);
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 |
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.
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
∙ This function works in 2-D space. Resulting shapes will not have z- or m-values.
∙ Ignores any CAD data