All Frameworks  Class Hierarchy  This Framework  Indexes

SPAintr Global Function api_check_face


outcome api_check_face(FACE* face,
check_status_list*& list,
AcisOptions* ao= NULL)
Checks face geometry for various conditions that could cause errors in other ACIS operations.

Role: This API checks whether a face defined by a bs3_surface is self-intersecting, is twisted, has too much oscillation, has degenerate edges, or is not G0, G1, or G2. The function list->status can be checked for the results. If no errors are found, the NULL list is returned. For example:
 while(list != NULL){
 switch(list->status()){
  case check_irregular:
   sys_error(FACE_IRREGULAR);
   break;
  case check_self_intersects:
   sys_error(FACE_SELF_INTER);
   break;
  case check_bad_closure:
   sys_error(SURF_BAD_CLOSURE);
   break;
  case check_bs3_null:
   sys_error(BS3_SURF_NULL);
   break;
  case check_bs3_coi_verts:
   sys_error(BS3_COI_VERTS);
   break;
  case check_bad_degeneracies:
   sys_error(BAD_DEGENERACIES);
   break;
  case check_untreatable_singularity:
   sys_error(UNTREAT_SING);
   break;
  case check_non_G0:
   sys_error(SURF_NON_G0);
   break;
  case check_non_G1:
   sys_error(SURF_NON_G1);
   break;
  case check_non_G2:
   sys_error(SURF_NON_G2);
   break;
  case check_non_C1:
   sys_error(SURF_NON_C1);
   break;
  case check_unknown:
   ;
 }
 list = list->next();
 }
Effect: Read-only

Journal: Not Available

Parameters:
face
face defined by a bs3_surface.
list
linked list of errors in face returned.
ao
ACIS options.

This object is included in the file: intrapi.hxx

Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.

SPAintr Global Function api_check_face
All Frameworks  Class Hierarchy  This Framework  Indexes

SPAintr Global Function api_check_face


outcome api_check_face(FACE* face,
insanity_list*& ilist,
AcisOptions* ao= NULL)
Checks a face's underlying surface for various conditions that could cause errors in other ACIS operations.

Role: This API checks the surface underlying the given face for validity. No checking of the face's edges, coedges or loops is performed - for full checking of a FACE entity, use api_check_entity.

This API is expected always to succeed - it should never return an error outcome. A new insanity_list instance is created by the API, and a reference to this instance is returned in the ilist parameter. If no problems are found with the face's surface, then the insanity_list instance will contain no errors, but it will still be created. Destruction of the returned insanity_list is the caller's responsibility.

In most cases, the insanity ids returned by api_check_face have the same meaning as when they are returned by api_check_entity. In the case of continuity problems (non-G1, non-G2 etc.) however, the meanings are subtly different, because api_check_face checks a face's surface in isolation from the face itself. It may be that the surface underlying the face is (say) non-G1, but all of the discontinuities lie outside the face's boundary. In this case, the face is G1 continuous, and api_check_entity will not report a non-G1 warning, but the face's surface is not G1 continuous, so api_check_face will report a non-G1 warning.

Journal: Not Available

Parameters:
face
The face for which the surface geometry is to be checked.
ilist
Output: list of problems with face's surface.
ao
ACIS options.
See also:
insanity_list

This object is included in the file: intrapi.hxx

Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.