TEDGE
List of: Classes
Subjects: Healing, Model Topology, Precision and Tolerance, SAT Save and Restore, Tolerant Modeling
Contents: Kernel

Purpose: Internal to ACIS and not intended for direct usage.

Derivation: TEDGE : EDGE : ENTITY : ACIS_OBJECT : -

SAT Identifier: "tedge"

Filename: kern/kernel/kerndata/top/tedge.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 edge class is a derived class of EDGE with a tolerance value. Unlike an edge, whose 3D representation is provided by its underlying curve, the 3D representation of a TEDGE is defined by the 3D geometry of its associated TCOEDGEs. The curve underlying a tolerant edge is used purely for graphic visualization.


The tolerance value of a tolerant edge indicates the maximum distance between any two equiparametric positions on any of its tolerant coedges. Two tolerant edges are coincident over an interval if the maximum of the minimum distance between the portion of their point sets bounded by the interval is less than the maximum of the tolerant edge's tolerance values. If the tolerance value is less than SPAresabs, then SPAresabs is used for coincidence checking.


A tolerant edge and an edge are coincident over an interval if the maximum of the minimum distance between the portion of their point sets bounded by the interval is less than the maximum of the tolerant edge's tolerance value and SPAresabs.


A tolerant edge with a single tolerant coedge will have a zero tolerance value. A tolerant edge may only be associated with tolerant coedges.


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

Constructor: public: TEDGE::TEDGE ();


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: TEDGE::TEDGE (


VERTEX*, // start pointer


VERTEX*, // end pointer


CURVE*, // curve on which




// edge lies


REVBIT, // edge sense


EDGE_cvty, // edge convexity


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 TEDGE::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 TEDGE::~TEDGE ();


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 TEDGE(...) then later x->lose.)



Methods: protected: virtual logical


TEDGE::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 TEDGE::get_update () const;


Update the tolerance on any version 5.0 part.






public: virtual logical TEDGE::is_deepcopyable (


) const;


Returns TRUE if this can be deep copied.






public: void TEDGE::mark_to_update ();


Calls the set_update routine.






public: void TEDGE::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 TEDGE::set_update (


logical // update flag



= TRUE


);


Indicates that the tolerance needs to be recalculated. Checks that the record has been posted on the bulletin board before performing the change. If not, the routine provokes an error, so that the omission (forgetting to call backup() first) can be rectified in the program. In production versions of the program, these checks may be disabled, to improve efficiency.

Internal Use: debug_ent, get_3D_curve, get_tolerance, identity, save, save_common, set_tolerance, type_name




Related Fncs: is_TEDGE
PDF/KERN/38CLT.PDF
HTM/DATA/KERN/KERN/38CLT/0003.HTM