The CELL_HEADER_ELM type that corresponds to the Cell_3d and Cell_2d structures is a general purpose complex header element whose children can be most other displayable element types. More...
Classes | |
struct | Type2Handler |
Base class for application defined cells that want to be treated as a single object. More... | |
struct | NormalCellHeaderHandler |
Class for user defined cells and groups. More... | |
The CELL_HEADER_ELM type that corresponds to the Cell_3d and Cell_2d structures is a general purpose complex header element whose children can be most other displayable element types.
Prior to the advent of element handlers CELL_HEADER_ELM was a convenient way for many applications to represent their graphical application data. This leads to two distinct types of cells, those that want to be treated as a single object and those that are just a collection of other "top-level" elements.
SmartSolids and Notes are examples of cells that do not have public children. All operations on these application defined types needs to go through the element handler as direct modification of the child elements may produce an invalid element.
User defined cells and group cells (Edit->Group) are collections of other element types and do have public child elements that may be of interest to applications.
Type2Handler is the base class for all cell sub-types. The Type2Handler class will never be the element handler for any element, it will always be a sub-class. The Type2Handler class itself does not report having any public children. Application defined cells (like SmartSolids) that want to be treated as a single object will be a direct sub-class of Type2Handler.
Whether a particular Type2Handler sub-class has public children is enforced through the use of child element iterators. A ChildElemIter can be used to iterate over the public children of a cell to extract information. A ChildEditElemIter can be used to iterate over the public children of a cell to make modifications like adding or removing area fill.
NormalCellHeaderHandler is a sub-class of Type2Handler that is used for user defined cells and group cells. The NormalCellHeaderHandler class represents a public collection of other elements and will return a child iterator for both query and edit.