ATTRIB_FACEINT
List of: Classes
Subjects: Booleans, SAT Save and Restore
Contents: Boolean

Purpose: Defines an attribute to record the intersection of a face of one body with a face of the other body during a Boolean operation.

Derivation: ATTRIB_FACEINT : ATTRIB_SYS : ATTRIB : ENTITY : ACIS_OBJECT : -

SAT Identifier: "faceint"

Filename: bool/boolean/kernbool/bool1/at_bool1.hxx

Description: This attribute is attached to a face of the tool body, and refers to a face of the blank body. This attribute may be attached by code that precedes a Boolean operation, such as blending.


Most Boolean operations do not bother to construct these attributes, as each face-to-face combination is looked at only once, but they may be attached before entering the Boolean code, if the intersections have already been determined by preliminary code (for example in blending).


If one of these attributes is stored, it is attached to the tool body face, and refers to the blank face.


In the special case of intersecting a body with itself (with no transformation), as may occur in testing for self-intersection, each face pair will in the normal course of events be inspected twice, and so it may be worth saving the results of the first operation. When it is seen a second time, the original tool face will be the blank, and vice versa, so a search on the blank face is needed also, and if found, the intersections must be flipped to reflect the inverted face order.

References: KERN FACE, surf_surf_int

Data: public FACE *face;

The other face.


public surf_surf_int *intersect;

List of surface to surface intersections.

Constructor: public: ATTRIB_FACEINT::ATTRIB_FACEINT (


FACE* // tool face



= NULL,


FACE* // blank face



= NULL,


surf_surf_int* // surface-surface int



= NULL


);


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 inherited from the ENTITY class (for example, x=new ATTRIB_FACEINT(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.




Destructor: public: virtual void ATTRIB_FACEINT::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


ATTRIB_FACEINT::~ATTRIB_FACEINT ();


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



Methods: public: virtual void ATTRIB_FACEINT::debug_ent (


FILE* // file pointer


) const;


Prints the type and address of this object, roll back pointer, attributes, and any unknown subtype information to the specified file. Refer to the ENTITY class for more details.






public: virtual int ATTRIB_FACEINT::identity (


int
// level



= 0


) const;


If level is unspecified or 0, returns the type identifier ATTRIB_FACEINT_TYPE. If level is specified, returns ATTRIB_FACEINT_TYPE for that level of derivation from ENTITY. The level of this class is defined as ATTRIB_FACEINT_LEVEL.






public: virtual logical


ATTRIB_FACEINT::is_deepcopyable () const;


Returns TRUE if this can be deep copied.






public:virtual logical


ATTRIB_FACEINT::pattern_compatible () const ;


Returns TRUE if this is pattern compatible.






public: void ATTRIB_FACEINT::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.


No data



This class does not save any data






public: virtual const char*


ATTRIB_FACEINT::type_name () const;


Returns the string "faceint".




Related Fncs: delete_efint_list, get_attrib_efint_list, init_attrib_efint_list, is_ATTRIB_FACEINT
PDF/BOOL/04CL.PDF
HTM/DATA/BOOL/BOOL/04CL/0002.HTM