SE_shape_relation

Evaluates spatial relations for polylines containing vertical segments

Usage syntax

LONG SE_shape_relation (const SE_SHAPE primary_shape,
const SE_SHAPE secondary_shape,
BOOL bstrict2d, relationstring,
BOOL pbrelationresult);

Parameters
primary_shape A handle to an active shape object
secondary_shape A handle to a secondary, active shape object
bstrict2d TRUE if 2D hybrid mode will be used; FALSE if existing relational operations should be used
relationstring Expression in the SCL
pbrelationresult (Output) Returns true or false, indicating the result of evaluating the SCL string against the input shapes; valid only if the return value of the function is SE_SUCCESS
Description

SE_shape_relation takes two shapes as input and returns a boolean value indicating whether or not the input expression evaluated to true or false. When true is returned, 3 dimensional polyines are converted into 2 dimensional hybrid features (set of points and lines) and z-coordinates are ignored. When false is returned, the existing geometry relational operators are used.

Both input shapes must have the same coordinate reference system.

Returns

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

∙  This function ignores any CAD data in the source shape and removes any CAD data from 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.