Purpose:
|
Internal to
ACIS and not intended for direct usage.
|
|
Derivation:
|
TVERTEX : VERTEX : ENTITY : ACIS_OBJECT : -
|
|
SAT Identifier:
|
"tvertex"
|
|
Filename:
|
kern/kernel/kerndata/top/tvertex.hxx
|
|
Description:
|
Although this
internal class is intended strictly forACIS usage, a minimal amount of information about this class is provided for the sole purpose of being able to understand and trace restoration from a SAT file.
|
|
|
The tolerant vertex class,
TVERTEX, is a derived class of
VERTEX with a tolerance value. A tolerant vertex is a zero-dimensional, topological entity that is used to bound an edge or a tedge. Each tolerant vertex is represented by a point in the geometric model. The tolerance value indicates the maximum distance from the position of the tvertex to the end of each coedge.
|
|
|
Two tolerant vertices are coincident if the distance between their points is less than the maximum of their tolerance values. If the tolerance value is less than
SPAresabs, then
SPAresabs is used for coincidence checking.
|
|
|
A tolerant vertex and a vertex are coincident if the distance between their points is less than the maximum of the tolerant vertex tolerance value and
SPAresabs.
|
|
|
This class is used as part of the tolerant modeling technology. It is not intended to be created directly. Instead, it could be created as part of model translation and healing. It permits a vertex to be created and supported by
ACIS when the original data from translation or a corrupted model did not meet the tighter tolerances of
ACIS.
|
|
Data:
|
protected double tolerance;
|
|
Distance from the position of the tvertex to the end of the coedge.
|
|
|
protected logical update;
|
|
If
TRUE, the
tolerance needs updating.
|
|
Constructor:
|
public: TVERTEX::TVERTEX
();
|
|
|
C++ allocation constructor requests memory for this object but does not populate it. The allocation constructor is used primarily by restore. Applications should call this constructor only with the overloaded
new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
|
|
public: TVERTEX::TVERTEX
(
|
|
|
APOINT*,
|
// vertex point
|
|
|
double
|
// tolerance
|
|
|
);
|
|
|
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. Applications should call this constructor only with the overloaded
new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
Destructor:
|
public: virtual void TVERTEX::lose
();
|
|
|
Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model. The
lose methods for attached attributes are also called.
|
|
|
|
|
|
|
protected: virtual TVERTEX::~TVERTEX
();
|
|
|
This
C++ destructor should never be called directly. Instead, applications should use the overloaded
lose method inherited from the
ENTITY class, because this supports history management. (For example,
x=new TVERTEX(...) then later
x->lose.)
|
|
|
|
Methods:
|
protected: virtual logical
|
|
|
TVERTEX::bulletin_no_change_vf (
|
|
|
ENTITY const* other,
|
|
// other entity
|
|
|
logical identical_comparator
|
// comparator
|
|
|
) const;
|
|
|
Virtual function for comparing subclass data - called by
bulletin_no_change. For identical_comparator to be
TRUE requires an exact match when comparing doubles, and returns the result of
memcmp as a default (for non-overridden subclasses).
FALSE indicates tolerant compares and returns
FALSE as a default.
|
|
|
|
|
|
|
public: logical TVERTEX::get_update
() const;
|
|
|
Returns the update value.
|
|
|
|
|
|
|
public: virtual logical TVERTEX::is_deepcopyable
(
|
|
|
) const;
|
|
|
Returns
TRUE if this can be deep copied.
|
|
|
|
|
|
|
public: void TVERTEX::mark_to_update
();
|
|
|
Marks the tolerance to be updated.
|
|
|
|
|
|
|
public: void TVERTEX::restore_common
();
|
|
|
The
RESTORE_DEF macro expands to the
restore_common method, which is used in reading information from a SAT file. This method is never called directly. It is called by a higher hierarchical function if an item in the SAT file is determined to be of this class type. An instance of this class will already have been created through the allocation constructor. This method then populates the class instance with the appropriate data from the SAT file.
|
|
|
read_real
|
|
|
|
Tolerance value
|
|
|
|
|
|
|
public: void TVERTEX::set_update
(
|
|
|
logical
|
// in_update
|
|
|
|
= TRUE
|
|
|
);
|
|
|
Updates the tolerance, if
TRUE.
|
|
Internal Use:
|
debug_ent, get_tolerance, identity, save, save_common, set_tolerance, type_name
|
|
|
|
|
Related Fncs:
|
is_TVERTEX
|