Purpose:
|
Names one portion of a cell's boundary.
|
|
Derivation:
|
CSHELL : ENTITY : ACIS_OBJECT : -
|
|
SAT Identifier:
|
"cshell"
|
|
Filename:
|
ct/ct_husk/classes/cshell.hxx
|
|
Description:
|
The
CSHELL is one portion of a cell's boundary; it is in a different shell from any other
CSHELL in that cell. If a cell has no voids, then exactly one
CSHELL gives its overall extent; any other
CSHELLs bound voids wholly within the cell. There is no distinction made in the data structure between peripheral and void
CSHELLs, indeed, some
CSHELLs may be open; e.g., a single face floating within a cell.
|
|
|
A
CSHELL is constructed from a collection of
CFACEs, each of which is one side of an existing face.
|
|
References:
|
CT
|
CELL3D, CFACE
|
|
by CT
|
CELL3D
|
|
BASE
|
SPAbox
|
|
Constructor:
|
public: CSHELL::CSHELL
();
|
|
|
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 inherited from the
ENTITY class (for example,
x=new CSHELL), because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
|
|
public: CSHELL::CSHELL
(
|
|
|
CFACE*,
|
// cfaces list in cshell
|
|
|
CSHELL*
|
// sibling list cshells
|
|
|
);
|
|
|
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 CSHELL(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
Destructor:
|
public: virtual void CSHELL::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 CSHELL::~CSHELL
();
|
|
|
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 CSHELL(...) then later
x->lose.)
|
|
|
|
Methods:
|
public: SPAbox* CSHELL::bound
() const;
|
|
|
Returns the bounding box for the
CSHELL.
|
|
|
|
|
|
|
public: CELL3D* CSHELL::cell
() const;
|
|
|
Returns the pointer to owning shell.
|
|
|
|
|
|
|
public: CFACE* CSHELL::cface
() const;
|
|
|
Returns the start of a list of immediately contained cfaces.
|
|
|
|
|
|
|
public: virtual void CSHELL::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 CSHELL::deletable
() const;
|
|
|
Returns
TRUE if the
CSHELL is deletable.
|
|
|
|
|
|
|
public: virtual int CSHELL::identity
(
|
|
|
int
|
|
// level
|
|
|
|
= 0
|
|
|
) const;
|
|
|
If
level is unspecified or 0, returns the type identifier
CSHELL_TYPE. If
level is specified, returns
CSHELL_TYPE for that level of derivation from
ENTITY. The level of this class is defined as
CSHELL_LEVEL.
|
|
|
|
|
|
|
public: virtual logical
|
|
|
CSHELL::is_deepcopyable () const;
|
|
|
Returns
TRUE if this can be deep copied.
|
|
|
|
|
|
|
public: CSHELL* CSHELL::next
() const;
|
|
|
Returns the next
CSHELL.
|
|
|
|
|
|
|
public: virtual ENTITY* CSHELL::owner
() const;
|
|
|
Returns the owner of the
CSHELL.
|
|
|
|
|
|
|
public: void CSHELL::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
CSHELL
|
|
read_ptr
|
Pointer to record in save file for owning CFACE
|
|
read_ptr
|
|
|
|
|
Pointer to record in save file for CELL3D
|
|
|
|
|
|
|
public: void CSHELL::set_bound
(
|
|
|
SPAbox*
|
// bounding box
|
|
|
);
|
|
|
Sets the bounding box in the
CSHELL. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method generates an error, so that the omission (forgetting to call
backup first) can be rectified in the program.
|
|
|
|
|
|
|
public: void CSHELL::set_cell
(
|
|
|
CELL3D*
|
// CELL3d
|
|
|
);
|
|
|
Sets the
CELL3D in the
CSHELL. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method generates an error, so that the omission (forgetting to call
backup first) can be rectified in the program.
|
|
|
|
|
|
|
public: void CSHELL::set_cface
(
|
|
|
CFACE*
|
// cface
|
|
|
);
|
|
|
Sets the
CFACE in the
CSHELL. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method generates an error, so that the omission (forgetting to call
backup first) can be rectified in the program.
|
|
|
|
|
|
|
public: void CSHELL::set_next
(
|
|
|
CSHELL*
|
// cshell
|
|
|
);
|
|
|
Sets the next
CSHELL. This method checks that the record has been posted on the bulletin board before performing the change. If not, the method generates an error, so that the omission (forgetting to call
backup first) can be rectified in the program.
|
|
|
|
|
|
|
public: virtual const char*
|
|
|
CSHELL::type_name () const;
|
|
|
Returns the string "cshell".
|
|
Internal Use:
|
full_size
|
|
|
|
|
Related Fncs:
|
is_CSHELL
|