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.
|