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