LiMeshingRefinementGetCriterion

FunctionLtStatus
LiMeshingRefinementGetCriterion( LtMeshingRefinement meshref
LtMeshingCriterion crit
LtData * data
)
Synopsis Establish what value is associated with the given criterion, of the given refinement.
Locationligeops
Parameters
meshref The meshing refinement of interest.
crit An ID which specifies the meshing criterion that is being queried.
data Where should the function write its result?
Return Value An indication of success, failure or error. This will return LI_STATUS_OK, unless a NULL refinement, an unknown criterion, or a NULL data, is supplied.

Description Allows the user to query what value is associated with a particular criterion of the specified meshing refinement.

It is important to note that a value will be returned whether the criterion has already been set, or not. In order to find out what value will be used, when LiPrimitiveTriangulate is processing a primitive to which this refinement is attached, one must also query the state of the criterion, using LiMeshingRefinementCriterionState. Only criteria whose state is LI_STATE_SET should be queried with LiMeshingRefinementGetCriterion.

Example
/*
 * Find out what POLY_COUNT is, for this ref
 */
state = 
   LiMeshingRefinementCriterionState(ref, 
                                     LI_MESH_CRIT_POLY_COUNT);
if ( state == LI_STATE_SET ) {
   status = 
      LiMeshingRefinementGetCriterion(ref, 
                                      LI_MESH_CRIT_POLY_COUNT, 
                                      data);
   if ( status )
      /* ERROR */
   else
      /* value is LiDataGetNat32(data) */
} else if ( state == LI_STATE_NOT_SET ) {
   LiControlGet(LI_CONTROL_MESHING_REFINEMENT, data);
   globref = 
      (LtMeshingRefinement)LiDataGetGenericPtr(data);
   status = LiMeshingRefinementGetCriterion(globref, 
                                            LI_MESH_CRIT_POLY_COUNT, 
                                            data);
   if ( status )
      /* ERROR */
   else
      /* value is LiDataGetNat32(data) */
} else
   /* ERROR */
See Also LiPrimitiveTriangulate
LiPrimitiveHierarchicalTriangulate
LiMeshingRefinementUnSetCriterion
LiMeshingRefinementCriterionState
LiMeshingRefinementSetCriterion
LiPrimitiveSetMeshingRefinement
LiPrimitiveGetMeshingRefinement
LiMeshingRefinementCreate
LiMeshingRefinementCopy
LiMeshingRefinementDebug
LiMeshingRefinementDestroy

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