check_status_list
List of: Classes
Subjects: Debugging
Contents: Kernel

Purpose: Implements the list of return codes for status checking.

Derivation: check_status_list : ACIS_OBJECT : -

Filename: kern/kernel/kernint/d3_chk/chk_stat.hxx

Description: Both curve and surface checkers return similar lists of return codes when a curve or surface is illegal, or NULL if it is OK. Note that in both cases the subdivision and self-intersection tests are only performed if everything else worked.


Return codes are as follows:


check_irregular very scrunched up/twisted. (Subdivision fails.)

check_self_intersects curve/surface self intersects.

check_bad_closure either the curve/surface says it is closed when it isn't, or that it is not closed when it is.

check_bs3_null no bs3 curve or surface. It does not check vertex blends. No further tests are made in this case.

check_bs3_coi_verts either adjacent control vertices are coincident or, for degenerate surfaces, vertices which should be coincident are not.

check_bad_degeneracies the degenerate edges on a surface make it untreatable (for example, two adjacent edges degenerate). This code is never returned for curves.

check_untreatable_singularities a singularity on the surface is beyond the scope of singularity current processing. This code is never returned for curves.

check_non_G0 position continuous.

check_non_G1 curve/surface not G1. For surfaces this may mean that parameter lines are not tangent continuous. But it is G0.

check_non_G2 not G2, though it is G0 and G1 with smooth parameter lines, if a surface.

check_non_C1 not C1, though it is G1. It may or may not have been G2.

check_unknown status is unknown. This does not get returned.


check_inconsistent Data mismatch in the given edge.




Destructor: public: check_status_list::~check_status_list ();

Destructor, destroying the list from here on.



Methods: public: check_status_list*


check_status_list::add_error (


check_status status // error to add to list


);


Adds an error to the front of the list. Returns a new check_status_list with the new error incorporated.






public: check_status_list*


check_status_list::add_list (


check_status_list* list // error list


);


Adds a list of errors to the front of the list. Returns the new start.






public: logical check_status_list::contains (


check_status wanted // status to check for


) const;


Checks for a particular status.






public: check_status_list*


check_status_list::next ();


Returns the next element of the error check_status_list, or NULL if there is none.






public: check_status check_status_list::status ();


Returns the status code of this element of the list.
PDF/KERN/29CLC.PDF
HTM/DATA/KERN/KERN/29CLC/0001.HTM