LiMeshingRefinementCriterionState

FunctionLtEnum
LiMeshingRefinementCriterionState( LtMeshingRefinement meshref
LtMeshingCriterion crit
)
Synopsis Has the given criterion, of the given refinement, been set, or not?
Locationligeops
Parameters
meshref The meshing refinement of interest.
crit An ID which isolates the meshing criterion that is being queried.
Return Value An indication of whether the given criterion, of this refinement, has been explicitly set, using LiMeshingRefinementSetCriterion, or not. If the function is unable to establish this, an error value is returned.

Description An end user, who is utilising a product built on top of the LightWorks ADS, may wish to examine the control values (meshing criteria) that are attached to a particular primitive in their scene. If the application programmer wishes to display these values, they have to be able to tell, for each criterion of the refinement attached to the primitive, whether a global value applies, or whether a local value has already been explicitly set. If the latter, this function will return LI_STATE_SET. If the former, this function will return LI_STATE_NOT_SET. Only if an error occurs (a NULL radref, or an invalid crit) will LI_STATE_UNKNOWN be returned.

If a value is associated with a particular criterion of a meshing refinement, using LiMeshingRefinementSetCriterion, but is subsequently unset, using LiMeshingRefinementUnSetCriterion, then passing the refinement and the criterion to LiMeshingRefinementCriterionState would result in LI_STATE_NOT_SET being returned, by the latter.

The definitions of LI_STATE_SET, LI_STATE_NOT_SET and LI_STATE_UNKNOWN can be found in the ligeops.h header file.

Example
/*
 * which MAX_EDGE_LENGTH will get used, for this ref?
 */
state = 
   LiMeshingRefinementCriterionState(ref, 
                                     LI_MESH_CRIT_MAX_EDGE_LENGTH);
if ( state == LI_STATE_SET ) {
   /* display local MAX_EDGE_LENGTH */
} else if ( state == LI_STATE_NOT_SET ) {
   /* display global MAX_EDGE_LENGTH */
} else
   /* ERROR */

See Also LiPrimitiveTriangulate
LiPrimitiveHierarchicalTriangulate
LiMeshingRefinementSetCriterion
LiMeshingRefinementGetCriterion
LiMeshingRefinementUnSetCriterion
LiPrimitiveSetMeshingRefinement
LiPrimitiveGetMeshingRefinement
LiMeshingRefinementCreate
LiMeshingRefinementCopy
LiMeshingRefinementDebug
LiMeshingRefinementDestroy


Copyright © 1990-1998, 1999 LightWork Design Limited. All rights reserved