CFACE
List of: Classes
Subjects: Cellular Topology, SAT Save and Restore
Contents: Cellular Topology

Purpose: A reference to one side of a FACE.

Derivation: CFACE : ENTITY : ACIS_OBJECT : -

SAT Identifier: "cface"

Filename: ct/ct_husk/classes/cface.hxx

Description: A CFACE is a reference to one side of a FACE. If a face is double-sided, it should be pointed to by two cfaces, if it is single-sided, one cface uses it in the FORWARD direction.

References: by CT ATTRIB_FACECFACE, CELL2D, CSHELL

KERN ENTITY, FACE

Constructor: public: CFACE::CFACE ();


C++ constructor, creating a CFACE. Applications should never directly call this constructor, but should instead call the overloaded new operator. Used by restore and roll back.






public: CFACE::CFACE (


CFACE*, // list of sibling cfaces


FACE*, // owned face


REVBIT // with respect to face




// direction


);


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 CFACE(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.


The calling method must set owner_ptr to refer to the owning cshell, and, if desired, bound_ptr, using set_cshell and set_bound.




Destructor: public: virtual void CFACE::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 CFACE::~CFACE ();


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



Methods: public: SPAbox* CFACE::bound () const;


Returns the bounding box for the cface.






public: virtual void CFACE::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 logical CFACE::deletable () const;


Returns TRUE if the cface is deletable.






public: FACE* CFACE::face () const;


Returns the pointer to the face.






public: virtual int CFACE::identity (


int
// level



= 0


) const;


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






public: virtual logical


CFACE::is_deepcopyable () const;


Returns TRUE if this can be deep copied.






public: CFACE* CFACE::next () const;


Returns the pointer to the next cface in the list contained directly by CSHELL.






public: virtual ENTITY* CFACE::owner () const;


Returns the pointer to the owning entity.






public: void CFACE::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_ptr Pointer to record in save file for next CFACE in CELL2D or CSHELL

read_ptr Pointer to record in save file for owning CELL2D of CSHELL

read_ptr Pointer to record in save file for FACE that defines CFACE

read_int



Orientation of CFACE to face normal; REVBIT portion of integer






public: REVBIT CFACE::sense () const;


Returns the side of the face used by the cface (OUTSIDE or INSIDE correspond to REVERSED or FORWARD, respectively).






public: void CFACE::set_cell2d (


CELL2D* // cell2d


);


Changes the data for the cell2d. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method returns an error, so that the omission (forgetting to call backup first) can be rectified in the program.






public: void CFACE::set_cshell (


CSHELL* // cshell


);


Changes the data for the cshell. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method returns an error, so that the omission (forgetting to call backup first) can be rectified in the program.






public: void CFACE::set_face (


FACE* // face


);


Changes the data for the face. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method returns an error, so that the omission (forgetting to call backup first) can be rectified in the program.






public: void CFACE::set_next (


CFACE* // cface


);


Changes the data for the next cface. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method returns an error, so that the omission (forgetting to call backup first) can be rectified in the program.






public: void CFACE::set_sense (


REVBIT // sense data


);


Changes the data for the sense data. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method returns an error, so that the omission (forgetting to call backup first) can be rectified in the program.






public: virtual const char*


CFACE::type_name () const;


Returns the string "cface".




Related Fncs: is_CFACE
PDF/CT/04CL.PDF
HTM/DATA/CT/CT/04CL/0009.HTM