CFACE entities that refer to a given face.
More...
#include <at_fcf.hxx>


Public Member Functions | |
| virtual void | add () |
If this ENTITY is use counted, adds one to the count. | |
| virtual logical | apply_transform (const SPAtransf &t, ENTITY_LIST &list, logical negate=FALSE, logical reset_pattern=TRUE) |
Transforms this ENTITY. | |
| ATTRIB * | attrib () const |
Returns this ENTITY's attribute pointer, or NULL if there is no attached attribute. | |
| ATTRIB_FACECFACE (FACE *owner=NULL, CFACE *f_face=NULL, CFACE *b_face=NULL) | |
| C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. | |
| CFACE * | back_cface () const |
Returns a pointer to back CFACE, which is the CFACE that uses the face in the FORWARD direction. | |
| ENTITY * | backup () |
| Creates a duplicate record and a change bulletin, if needed, as a backup for roll back. | |
| int | bulletin_count () const |
Returns the number of bulletins referring to this ENTITY. | |
| virtual logical | call_method (METHOD_ID const &, METHOD_ARGS const &) |
| Executes the implementation function for a routine virtual method. | |
| virtual ENTITY * | copy_data (ENTITY_LIST &, pointer_map *pm=NULL, logical dpcpy_skip=FALSE, SCAN_TYPE reason=SCAN_COPY) const |
Allocates a new ENTITY and calls copy_common to fill it in. | |
| virtual void | copy_owner (ENTITY *copy_entity) |
Notifies this ATTRIB that its owning ENTITY has been copied. | |
| virtual void | copy_scan (ENTITY_LIST &, SCAN_TYPE reason=SCAN_COPY, logical dpcpy_skip=FALSE) const |
Adds dependent ENTITYs of this ENTITY to the list of ENTITYs to be copied. | |
| virtual logical | copyable () const |
| Indicates whether this attribute should be included when the owning entity is copied. | |
| virtual void | debug_ent (FILE *) const |
Prints the type and address of this ENTITY, roll back pointer, attributes, and any unknown subtype information. | |
| virtual logical | deletable () const |
Indicates whether this ATTRIB is independently deletable of its owner. | |
| virtual logical | duplicatable () const |
Indicates whether this ATTRIB can be duplicated. | |
| ATTRIB * | duplicate (ENTITY *new_ent) const |
Duplicate this attribute onto the given ENTITY. | |
| ENTITY * | entity () const |
Returns a pointer to the ENTITY that owns this ATTRIB. | |
| virtual void | fix_pointers (ENTITY *[], SCAN_TYPE reason=SCAN_COPY) |
| Converts pointers from copy indices into real pointers. | |
| virtual void | from_tolerant_owner (ENTITY *non_tol_ent) |
Notifies this ATTRIB that its owning ENTITY is being replaced with a non-tolerant ENTITY. | |
| CFACE * | front_cface () const |
Returns a pointer to front CFACE, which is the CFACE that uses the face in the REVERSED direction. | |
| virtual void | full_size (SizeAccumulator &est, logical countSelf=TRUE) const |
Increments the SizeAccumulator by the size, in bytes, of everything owned by this ENTITY and, optionally, of the ENTITY itself. | |
| copy_action | get_copy_owner_action (void) const |
| Get the current copy_owner action for this attribute. | |
| tolerant_action | get_from_tolerant_owner_action (void) const |
| Get the current from_tolerant_owner action for this attribute. | |
| geometry_changed_action | get_lop_change_owner_action (void) const |
| Get the current lop_change_owner action for this attribute. | |
| merge_action | get_merge_owner_action (void) const |
| Get the current merge_owner action for this attribute. | |
| geometry_changed_action | get_rep_owner_geom_action (void) const |
| Get the current replace_owner_geometry action for this attribute. | |
| replace_action | get_replace_owner_action (void) const |
| Get the current replace_owner action for this attribute. | |
| geometry_changed_action | get_reverse_owner_action (void) const |
| Get the current reverse_owner action for this attribute. | |
| split_action | get_split_owner_action (void) const |
| Get the current split_owner action for this attribute. | |
| tolerant_action | get_to_tolerant_owner_action (void) const |
| Get the current to_tolerant_owner action for this attribute. | |
| trans_action | get_trans_owner_action (void) const |
| Get the current trans_owner action for this attribute. | |
| geometry_changed_action | get_warp_owner_action (void) const |
| Get the current warp_owner action for this attribute. | |
| HISTORY_STREAM * | history () const |
Returns a pointer to the history stream for this ENTITY. | |
| virtual int | identity (int=0) const |
Returns a type identifier for this ENTITY. | |
| virtual logical | is_deepcopyable () const |
Returns TRUE if this ENTITY can be deep copied. | |
| virtual logical | is_use_counted () const |
Indicates if this ENTITY is use-counted or not. | |
| virtual int | lookup (logical) const |
Looks up this ENTITY in the appropriate debug list. | |
| virtual void | lop_change_owner () |
Notifies this ATTRIB that its owning ENTITY will be changed by a local operation, face removal, or shelling. | |
| virtual void | lose () |
| Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model. | |
| virtual void | merge_owner (ENTITY *entity, logical del_owner) |
Notifies this ATTRIB that its owning ENTITY is about to be merged with a given ENTITY. | |
| virtual ATTRIB * | move (ENTITY *new_entity) |
Moves this ATTRIB to a new owning ENTITY. | |
| virtual logical | moveable () const |
Returns TRUE if this ATTRIB is moveable from one owning ENTITY to another. | |
| logical | needs_rollback () const |
| Checks whether or not the record is already backed up. | |
| ATTRIB * | next () const |
Returns the next attribute in this ATTRIB's linked list. | |
| virtual ENTITY * | owner () const |
Identifies the owning ENTITY, if any, of this ATTRIB. | |
| virtual logical | pattern_compatible () const |
Returns TRUE if the ATTRIB is pattern-compatible. | |
| virtual logical | pattern_copyable () const |
Returns TRUE if the ATTRIB is pattern-copyable. | |
| ATTRIB * | previous () const |
Returns the previous attribute in this ATTRIB's linked list. | |
| virtual void | remove (logical lose_if_zero=TRUE) |
Decrements the use count of this ENTITY. | |
| virtual void | replace_owner (ENTITY *other_entity, logical replace_owner) |
Notifies this ATTRIB that its owning ENTITY is being replaced. | |
| virtual void | replace_owner_geometry (ENTITY *new_geom) |
Notifies this ATTRIB that its owning ENTITY is being given new geometry, possibly changing its shape. | |
| void | restore_common () |
| Restores data for a record from disc to memory. | |
| void | restore_end (char *id_str) |
| Terminates a restore record. | |
| virtual void | reverse_owner () |
Notifies this ATTRIB that its owning entity's sense bit is about to be reversed. | |
| BULLETIN *& | rollback () const |
Returns the pointer to the bulletin board entry for this ENTITY. | |
| virtual logical | savable () const |
Indicates whether this ATTRIB should be included when the owning entity is saved. | |
| virtual void | save (ENTITY_LIST &) const |
| Performs a save operation. | |
| void | set_attrib (ATTRIB *attr) |
Changes the attribute pointer of this ENTITY to point to the given attribute. | |
| void | set_back_cface (CFACE *cface) |
Sets the back CFACE. | |
| copy_action | set_copy_owner_action (const copy_action action) |
Set the copy_owner action for this attribute. | |
| tolerant_action | set_from_tolerant_owner_action (const tolerant_action action) |
Set the from_tolerant_owner action for this attribute. | |
| void | set_front_cface (CFACE *cface) |
Sets the front CFACE. | |
| geometry_changed_action | set_lop_change_owner_action (const geometry_changed_action action) |
Set the lop_change_owner action for this attribute. | |
| merge_action | set_merge_owner_action (const merge_action action) |
Set the merge_owner action for this attribute. | |
| geometry_changed_action | set_rep_owner_geom_action (const geometry_changed_action action) |
Set the replace_owner_geometry action for this attribute. | |
| replace_action | set_replace_owner_action (const replace_action action) |
Set the replace_owner action for this attribute. | |
| geometry_changed_action | set_reverse_owner_action (const geometry_changed_action action) |
Set the reverse_owner action for this attribute. | |
| split_action | set_split_owner_action (const split_action action) |
Set the split_owner action for this attribute. | |
| tolerant_action | set_to_tolerant_owner_action (const tolerant_action action) |
Set the to_tolerant_owner action for this attribute. | |
| trans_action | set_trans_owner_action (const trans_action action) |
Set the trans_owner action for this attribute. | |
| virtual void | set_use_count (int use) |
Sets the reference use count of this ENTITY. | |
| geometry_changed_action | set_warp_owner_action (const geometry_changed_action action) |
Set the warp_owner action for this attribute. | |
| virtual unsigned | size () const |
Returns the size, in bytes, of this ENTITY. | |
| virtual void | split_owner (ENTITY *entity) |
Notifies this ATTRIB that its owner is about to be split into two parts. | |
| tag_id_type | tag (logical assign_new=TRUE) const |
| Data reading routine. | |
| virtual void | to_tolerant_owner (ENTITY *tol_ent) |
Notifies this ATTRIB that its owning ENTITY is being replaced with a tolerant ENTITY. | |
| virtual void | trans_owner (const SPAtransf &transf) |
Notifies this ATTRIB that its owner is about to be transformed. | |
| virtual void | trans_owner_list (const SPAtransf &transf, ENTITY_LIST &e_list) |
Notifies this ATTRIB that its owner is about to be transformed. | |
| virtual const char * | type_name () const |
Returns a name for this ENTITY's type. | |
| ATTRIB * | unhook () |
Removes this ATTRIB from the chain of attributes of its owning ENTITY. | |
| virtual int | use_count () const |
Returns the use count of this ENTITY. | |
| virtual void | warp_owner (law *warp) |
Notifies this ATTRIB that its owning ENTITY will be modified by warping. | |
Static Public Member Functions | |
| static MethodFunction | add_method (METHOD_ID const &, MethodFunction) |
| Registers an implementation function for a run-time virtual method. | |
Protected Member Functions | |
| virtual logical | bulletin_no_change_vf (const ENTITY *other, logical identical_comparator) const |
| Compares subclass data. | |
| void | check_destroy () const |
| Checks that entity deletion is legitimate. | |
| void | copy_common (ENTITY_LIST &list, const ENTITY *from, pointer_map *pm=NULL, logical dpcpy_skip=FALSE, SCAN_TYPE reason=SCAN_COPY) |
Fills in this ENTITY with data from the copied ENTITY, converting pointers into indices in the supplied ENTITY_LIST. | |
| void | fix_common (ENTITY *[], SCAN_TYPE reason=SCAN_COPY) |
| Converts pointers from copy indices into real pointers. | |
| void | fixup_copy (ENTITY *rollback) const |
Fixes any pointers in the ENTITY after copying for backup. | |
| virtual logical | holds_pattern () const |
| Returns TRUE if this entity can have a pattern_holder. | |
| logical | is_unknown_entity (void) const |
| Returns TRUE if this is an unknown entity. | |
| virtual void | roll_notify (BULLETIN_TYPE bulletin_type, ENTITY *ent) |
| Fields notifications of rollback operations. | |
| void | save_begin (logical terminator=FALSE) const |
| Starts a save record. | |
| void | save_common (ENTITY_LIST &) const |
| Handles the save operation. | |
| void | save_end (ENTITY_LIST &list) const |
| Terminates a save record. | |
CFACE entities that refer to a given face.
Role: Defines an attribute that is attached to a face and records one or two CFACE entities that refer to its front and back sides. An ATTRIB_FACECFACE effectively provides a back pointer from a face to the each of the cells that it bounds. A single-sided face can be part of the boundary of at most one cell, a CELL3D. A double-sided face can be part of the boundary of one or two cells, which may be either CELL3Ds or CELL2Ds. A single-sided face will have one CFACE, whereas a double-sided face will have two CFACEs, one for each side of the face.
For additional information, refer to the Technical Article on Cellular Topology Data Structure.
| ATTRIB_FACECFACE::ATTRIB_FACECFACE | ( | FACE * | owner = NULL, |
|
| CFACE * | f_face = NULL, |
|||
| CFACE * | b_face = NULL | |||
| ) |
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
Role: Applications should call this constructor only with the overloaded new operator inherited from the ENTITY class (for example, x = new ATTRIB_FACECFACE(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.
| owner | owner. | |
| f_face | front cface. | |
| b_face | back cface. |
| virtual void ENTITY::add | ( | ) | [virtual, inherited] |
If this ENTITY is use counted, adds one to the count.
Role: If this ENTITY is not use counted, signals an error.
Every held pointer to a use counted ENTITY should be declared by calling add. There should a corresponding call to remove when the user is done with the pointer. For normal ENTITYs, simply call lose when the ENTITY is no longer part of the active model. For use counted ENTITYs, the implementations of add and remove come from macros in usecount.hxx. Use counted ENTITYs implemented without the macros should implement these virtual methods manually.
Reimplemented in CURVE, EE_LIST, SPAGROUP, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.
| static MethodFunction ATTRIB_FACECFACE::add_method | ( | METHOD_ID const & | method_id, | |
| MethodFunction | method_func | |||
| ) | [static] |
Registers an implementation function for a run-time virtual method.
Role: (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)
| method_id | method id. | |
| method_func | method function. |
Reimplemented from ATTRIB_CT.
| virtual logical ENTITY::apply_transform | ( | const SPAtransf & | t, | |
| ENTITY_LIST & | list, | |||
| logical | negate = FALSE, |
|||
| logical | reset_pattern = TRUE | |||
| ) | [virtual, inherited] |
Transforms this ENTITY.
Role: The ENTITY_LIST is used to prevent sub-entities from being transformed more than once. This method is not included with the standard ENTITY methods in order to allow nontransformable ENTITYs to use the default implementation. (Supplied by the TRANSFORM_FUNCTION and TRANSFORM_DEF macros.)
| t | the transform to apply. | |
| list | list of entities to which the transform has already been applied. | |
| negate | negation flag. | |
| reset_pattern | internal use only. |
Reimplemented in ASM_ASSEMBLY, ASM_MODEL_REF, BODY, COEDGE, CURVE, EDGE, ERROR_ENTITY, FACE, LAW, LOOP, LUMP, APATTERN, PCURVE, APOINT, SHELL, SUBSHELL, SURFACE, TCOEDGE, TEDGE, TEXT_ENT, TVERTEX, VERTEX, WCS, and WIRE.
| ATTRIB* ENTITY::attrib | ( | ) | const [inline, inherited] |
Returns this ENTITY's attribute pointer, or NULL if there is no attached attribute.
| CFACE* ATTRIB_FACECFACE::back_cface | ( | ) | const [inline] |
| ENTITY* ENTITY::backup | ( | ) | [inherited] |
Creates a duplicate record and a change bulletin, if needed, as a backup for roll back.
Role: The duplication is done via the virtual function make_copy, to let each derived type do its own backup. Before performing a change, each routine checks whether the data structure is posted on the bulletin board. If not, the posting is done automatically. Called by all system change functions.
| int ENTITY::bulletin_count | ( | ) | const [inline, inherited] |
Returns the number of bulletins referring to this ENTITY.
| virtual logical ENTITY::bulletin_no_change_vf | ( | const ENTITY * | other, | |
| logical | identical_comparator | |||
| ) | const [protected, virtual, inherited] |
Compares subclass data.
Role: This virtual method is called by bulletin_no_change. When the identical_comparator argument is TRUE, it requires an exact match when comparing doubles, and returns the result of memcmp as a default (for non-overridden subclasses). A FALSE argument indicates tolerant compares, in which case FALSE is returned by default.
| other | other ENTITY in the bulletin. | |
| identical_comparator | identity compare flag. |
Reimplemented in BODY, COEDGE, CONE, CURVE, EDGE, ELLIPSE, FACE, HELIX, INTCURVE, LOOP, LUMP, PCURVE, PLANE, APOINT, SHELL, SPHERE, SPLINE, STRAIGHT, SUBSHELL, SURFACE, TCOEDGE, TEDGE, TORUS, TVERTEX, UNDEFC, VERTEX, and WIRE.
| virtual logical ATTRIB_FACECFACE::call_method | ( | METHOD_ID const & | method_id, | |
| METHOD_ARGS const & | method_args | |||
| ) | [virtual] |
Executes the implementation function for a routine virtual method.
Role: (Supplied by the ENTITY_FUNCTIONs and UTILITY_DEF macros).
| method_id | method id. | |
| method_args | method args. |
Reimplemented from ATTRIB_CT.
| void ENTITY::check_destroy | ( | ) | const [inline, protected, inherited] |
Checks that entity deletion is legitimate.
Role: This method complains if there is an attempt to delete an entity other than through the private member function destroy, which is carefully controlled.
| void ENTITY::copy_common | ( | ENTITY_LIST & | list, | |
| const ENTITY * | from, | |||
| pointer_map * | pm = NULL, |
|||
| logical | dpcpy_skip = FALSE, |
|||
| SCAN_TYPE | reason = SCAN_COPY | |||
| ) | [protected, inherited] |
Fills in this ENTITY with data from the copied ENTITY, converting pointers into indices in the supplied ENTITY_LIST.
Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and COPY_DEF macros.) Whenever the operation encounters a pointer to a dependent ENTITY, it find the index of the latter in the supplied ENTITY_LIST and sets the corresponding pointer in the copy to that index.
| list | list of ENTITYs being copied. | |
| from | original ENTITY being copied. | |
| pm | pointer map. | |
| dpcpy_skip | Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.) | |
| reason | type of scan. |
| virtual ENTITY* ATTRIB_FACECFACE::copy_data | ( | ENTITY_LIST & | list, | |
| pointer_map * | pm = NULL, |
|||
| logical | dpcpy_skip = FALSE, |
|||
| SCAN_TYPE | reason = SCAN_COPY | |||
| ) | const [virtual] |
Allocates a new ENTITY and calls copy_common to fill it in.
Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)
| list | ENTITYs to copy. | |
| pm | pointer map. | |
| dpcpy_skip | Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.) | |
| reason | scan type. |
Reimplemented from ATTRIB_CT.
| virtual void ATTRIB_FACECFACE::copy_owner | ( | ENTITY * | copy_ent | ) | [virtual] |
Notifies this ATTRIB that its owning ENTITY has been copied.
Role: This method is used to notify this attribute that it's owner has been copied.
The predominant fashion by which copy_owner is called is during the course of ACIS operations that are constructing, deconstructing, or modifying either topology and/or geometry. This method is also called at the end of the api_down_copy_entity algorithm. As a general rule, the attribute implementing this method cannot assume the validity of the model "above" or "below" its owner, only that its owner is valid and that the copy_ent is valid.
Depending on the application needs of your attribute, it may be possible to utilize the set_copy_owner_action method to specify how your attribute should act within copy_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| copy_ent | the new ENTITY that is a copy of this attribute's owner. |
Reimplemented from ATTRIB.
| virtual void ATTRIB_FACECFACE::copy_scan | ( | ENTITY_LIST & | list, | |
| SCAN_TYPE | reason = SCAN_COPY, |
|||
| logical | dpcpy_skip = FALSE | |||
| ) | const [virtual] |
Adds dependent ENTITYs of this ENTITY to the list of ENTITYs to be copied.
Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and SCAN_DEF macros.) The default type of scan (reason) is SCAN_COPY.
| list | ENTITYs to copy. | |
| reason | type of copy. | |
| dpcpy_skip | Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.) |
Reimplemented from ATTRIB_CT.
| virtual logical ATTRIB::copyable | ( | ) | const [virtual, inherited] |
Indicates whether this attribute should be included when the owning entity is copied.
Role: The default is to call duplicatable().
Reimplemented in ATTRIB_ANNOTATION, ATTRIB_GEN_NAME, ATTRIB_TAG, and ID_ATTRIB.
| virtual void ATTRIB_FACECFACE::debug_ent | ( | FILE * | file_pointer | ) | const [virtual] |
Prints the type and address of this ENTITY, roll back pointer, attributes, and any unknown subtype information.
Role: This method is called by DEBUG_LIST::debug for an entirely unknown ENTITY type, or at the start of any derived class's debug_ent method. Each derived class's debug_ent method uses the debug function described in the Spatial Product Documentation to print information added at that level. (Supplied by the ENTITY_FUNCTIONS and DEBUG_DEF macros.)
| file_pointer | file pointer. |
Reimplemented from ATTRIB_CT.
| virtual logical ATTRIB::deletable | ( | ) | const [virtual, inherited] |
Indicates whether this ATTRIB is independently deletable of its owner.
Role: The default and suggested behavior for this method is to return FALSE. This is an indication that the attribute's lifetime is controlled by its owner; e.g., when the owner is lost, so too is this attribute.
An exception to this default behavior is if the attribute has no owner, e.g., its owner pointer is NULL. In this case, ATTRIB::deletable will return TRUE.
You may want to return TRUE for this method if, as suggested, you want the attribute to be lost before it's owner. Note that api_del_entity will guarantee that all deletable attributes are lost before their owner is lost.
Reimplemented from ENTITY.
Reimplemented in ATTRIB_TAG, and ID_ATTRIB.
| virtual logical ATTRIB::duplicatable | ( | ) | const [virtual, inherited] |
Duplicate this attribute onto the given ENTITY.
Role: Using an attribute's copy_data, copy_common,, copy_scan, and fix_pointer methods, this ATTRIB base class method will duplicate 'this' attribute onto the given entity. (Assuming 'this' returns copyable() == TRUE).
Simple attribute data will be propagated onto the new attribute according to the attribute's COPY_DEF.
Complex attribute data (pointers to entities other than the attribute's owner) will not be copied to the new attribute via this method. Instead, the complex attribute data will be set to NULL.
| new_ent | the new ENTITY onto which a duplicate of 'this' attribute will be placed. |
| ENTITY* ATTRIB::entity | ( | ) | const [inline, inherited] |
Converts pointers from copy indices into real pointers.
Role: Called by fix_pointers. For ENTITY, converts the attribute pointer, and any pointers in the unknown_entity_text record. (Supplied by the ENTITY_FUNCTIONS and FIX_POINTER_DEF macros.)
| array | ENTITY pointers to fix. | |
| reason | type of scan. |
Reimplemented from ATTRIB_CT.
| virtual void ATTRIB_FACECFACE::fix_pointers | ( | ENTITY * | entity_array[], | |
| SCAN_TYPE | reason = SCAN_COPY | |||
| ) | [virtual] |
Converts pointers from copy indices into real pointers.
Role: The fix_pointers method for each entity in the restore array is called, with the given array as an argument. This calls fix_common, which calls its parent's fix_common, and then corrects any pointers in the derived class. In practice there is never anything special for fix_pointers to do, but it is retained for consistency and compatibility. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)
| entity_array | ENTITY pointers to fix. | |
| reason | type of scan. |
Reimplemented from ATTRIB_CT.
| void ENTITY::fixup_copy | ( | ENTITY * | rollback | ) | const [protected, inherited] |
Fixes any pointers in the ENTITY after copying for backup.
Role: For ENTITY, this method has nothing to do, but because it is called by all data types, it is required to terminate the copy chain. (Supplied by the ENTITY_FUNCTIONS and SIMPLE_COPY_CONE macros.)
| rollback | the ENTITY to copy for backup. |
Reimplemented in GA_WORKSPACE.
| virtual void ATTRIB::from_tolerant_owner | ( | ENTITY * | non_tol_ent | ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY is being replaced with a non-tolerant ENTITY.
Role: The default action is to move the attribute onto the given non-tolerant ENTITY only if moveable() returns TRUE.
Depending on the application needs of your attribute, it may be possible to utilize the set_from_tolerant_owner_action method to specify how your attribute should act within from_tolerant_owner, which would preclude the need to actually implement this method.
| tol_ent | the new, tolerant owner. |
| CFACE* ATTRIB_FACECFACE::front_cface | ( | ) | const [inline] |
| virtual void ENTITY::full_size | ( | SizeAccumulator & | est, | |
| logical | countSelf = TRUE | |||
| ) | const [virtual, inherited] |
Increments the SizeAccumulator by the size, in bytes, of everything owned by this ENTITY and, optionally, of the ENTITY itself.
Role: If countSelf is TRUE, increments the SizeAccumulator by the size, in bytes, of the ENTITY and everything owned by the ENTITY. If countSelf is FALSE, increments the SizeAccumulator by the size, in bytes, of everything owned by the ENTITY, but not including the size of the ENTITY itself.
For example, if an ENTITY contained a character string and full_size were called with countSelf == FALSE, the SizeAccumulator would be incremented by the size, in bytes, of the character string.
Reimplemented in ATTRIB_CELL_INT_PRECEDENCE, ATTRIB_GEN_NAME, ATTRIB_GEN_STRING, ATTRIB_GEN_WSTRING, ATTRIB_BLEND, ATTRIB_FFBLEND, CELL, SPACOLLECTION, CONE, CSHELL, CURVE, EE_LIST, ELLIPSE, GA_WORKSPACE, SPAGROUP, HELIX, INTCURVE, LAW, PCURVE, PLANE, APOINT, SPHERE, SPLINE, STRAIGHT, SUPERCELL, SURFACE, TEXT_ENT, TORUS, UNDEFC, and ATTRIB_VAR_BLEND.
| copy_action ATTRIB::get_copy_owner_action | ( | void | ) | const [inherited] |
Get the current copy_owner action for this attribute.
| tolerant_action ATTRIB::get_from_tolerant_owner_action | ( | void | ) | const [inherited] |
Get the current from_tolerant_owner action for this attribute.
| geometry_changed_action ATTRIB::get_lop_change_owner_action | ( | void | ) | const [inherited] |
Get the current lop_change_owner action for this attribute.
| merge_action ATTRIB::get_merge_owner_action | ( | void | ) | const [inherited] |
Get the current merge_owner action for this attribute.
| geometry_changed_action ATTRIB::get_rep_owner_geom_action | ( | void | ) | const [inherited] |
Get the current replace_owner_geometry action for this attribute.
| replace_action ATTRIB::get_replace_owner_action | ( | void | ) | const [inherited] |
Get the current replace_owner action for this attribute.
| geometry_changed_action ATTRIB::get_reverse_owner_action | ( | void | ) | const [inherited] |
Get the current reverse_owner action for this attribute.
| split_action ATTRIB::get_split_owner_action | ( | void | ) | const [inherited] |
Get the current split_owner action for this attribute.
| tolerant_action ATTRIB::get_to_tolerant_owner_action | ( | void | ) | const [inherited] |
Get the current to_tolerant_owner action for this attribute.
| trans_action ATTRIB::get_trans_owner_action | ( | void | ) | const [inherited] |
Get the current trans_owner action for this attribute.
| geometry_changed_action ATTRIB::get_warp_owner_action | ( | void | ) | const [inherited] |
Get the current warp_owner action for this attribute.
| HISTORY_STREAM* ENTITY::history | ( | ) | const [inline, inherited] |
Returns a pointer to the history stream for this ENTITY.
| virtual logical ENTITY::holds_pattern | ( | ) | const [inline, protected, virtual, inherited] |
| virtual int ATTRIB_FACECFACE::identity | ( | int | level = 0 |
) | const [virtual] |
Returns a type identifier for this ENTITY.
Role: If level is unspecified or 0, returns the type identifier ENTITY_TYPE. If level is specified, returns ENTITY_TYPE for that level of derivation from ENTITY. The level of this class is defined as ENTITY_LEVEL.
A positive level specifies the level of derivation down from the ENTITY class to examine. ENTITY itself has level 0. If level is unspecified or 0, the type of the most specific class of object is returned. If level is 1, the type of the class one level down from ENTITY is returned. If level is 2, the type of the parent class 2 levels down from ENTITY is returned, and so on. If level is greater than the level of the instance, -1 ("unknown") is returned.
A negative level similarly specifies the level of derivation up from the most specific class of object returned.
(Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)
| level | the derivation level at which the object is to be identified. |
Reimplemented from ATTRIB_CT.
| virtual logical ATTRIB_FACECFACE::is_deepcopyable | ( | ) | const [virtual] |
| logical ENTITY::is_unknown_entity | ( | void | ) | const [protected, inherited] |
Returns TRUE if this is an unknown entity.
An unknown entity is one that is restored from SAT/SAB but is not native to the running app.
| virtual logical ENTITY::is_use_counted | ( | ) | const [virtual, inherited] |
Indicates if this ENTITY is use-counted or not.
Role: The default implementation returns FALSE.
Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.
| virtual int ATTRIB::lookup | ( | logical | insert | ) | const [virtual, inherited] |
Looks up this ENTITY in the appropriate debug list.
Role: This method is not included among the standard ENTITY methods because often subclasses may wish to be included in their parent's debug list. This is done simply by not including a lookup method in the subclass.
When the logical argument is TRUE, the ENTITY is inserted into the debug list if it does not already exist in the list. If it is FALSE and the ENTITY does not exist in the list, a -1 is returned. (Supplied by the LOOK_FUNCTION and LOOKUP_DEF macros.)
| insert | flag to insert into debug list. |
Reimplemented from ENTITY.
| virtual void ATTRIB::lop_change_owner | ( | ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY will be changed by a local operation, face removal, or shelling.
Role: This member function informs the attribute that the its owning ENTITY has been geometrically modified during the course of a local operation. No other details as to how the owner is being modified are provided.
Depending on the application needs of your attribute, it may be possible to utilize the set_lop_change_owner_action method to specify how your attribute should act within lop_change_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
Reimplemented in ATTRIB_EYE_POINTLIST_HEADER.
| virtual void ATTRIB_FACECFACE::lose | ( | ) | [virtual] |
Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model.
Role: The lose methods for attached attributes are also called.
Reimplemented from ATTRIB_CT.
| virtual void ATTRIB_FACECFACE::merge_owner | ( | ENTITY * | entity, | |
| logical | del_owner | |||
| ) | [virtual] |
Notifies this ATTRIB that its owning ENTITY is about to be merged with a given ENTITY.
Role: The application has the chance to delete or otherwise modify the attribute. After the merge, the owner of this attribute will be deleted if the logical argument del_owner is TRUE; otherwise, it will be retained and the other owner will be deleted. The default action is to do nothing. This function is supplied by the application whenever it defines a new, derived attribute, and is called when a merge occurs.
Depending on the application needs of your attribute, it may be possible to utilize the set_merge_owner_action method to specify how your attribute should act within merge_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| entity | the ENTITY with which this attribute's owner is being merged. | |
| del_owner | flag that the owner of this attribute will be deleted after the merge. |
Reimplemented from ATTRIB.
Moves this ATTRIB to a new owning ENTITY.
| new_entity | the new owning ENTITY. |
Reimplemented in ATTRIB_INTVERT, and ATTRIB_VAR_BLEND.
| virtual logical ATTRIB::moveable | ( | ) | const [virtual, inherited] |
Returns TRUE if this ATTRIB is moveable from one owning ENTITY to another.
Role: The default is to call copyable().
| logical ENTITY::needs_rollback | ( | ) | const [inline, inherited] |
Checks whether or not the record is already backed up.
| ATTRIB* ATTRIB::next | ( | ) | const [inline, inherited] |
Returns the next attribute in this ATTRIB's linked list.
| virtual ENTITY* ATTRIB::owner | ( | ) | const [virtual, inherited] |
| virtual logical ATTRIB::pattern_compatible | ( | ) | const [virtual, inherited] |
Returns TRUE if the ATTRIB is pattern-compatible.
Role: An attribute is pattern-compatible if it does not refer to another pattern-generated entity (other than its owner).
By default, this virtual method returns FALSE unless the attribute is not savable. This behavior should be overridden in derived classes that are deemed to be pattern-compatible, however, in order to facilitate pattern performance enhancements.
Reimplemented in ATTRIB_ANNOTATION, ATTRIB_INTCOED, ATTRIB_INTEDGE, ATTRIB_INTVERT, ATTRIB_INTGRAPH, ATTRIB_EFINT, ATTRIB_FACEINT, ATTRIB_CFACE_VOL, ATTRIB_GEN_ENTITY, ATTRIB_GEN_INTEGER, ATTRIB_CELL_INT_PRECEDENCE, ATTRIB_GEN_NAME, ATTRIB_GEN_POSITION, ATTRIB_CELL_PRECEDENCE, ATTRIB_GEN_POINTER, ATTRIB_GEN_REAL, ATTRIB_GEN_STRING, ATTRIB_VOL_COL, ATTRIB_GEN_VECTOR, ATTRIB_IHL_VW, ATTRIB_GEN_WSTRING, ATTRIB_TAG, ATTRIB_BLEND, ATTRIB_FFBLEND, ATTRIB_BLINFO, ATT_CAP_FACE, ATT_BL_INST, ATTRIB_COL, ATTRIB_DM2ACIS, ATTRIB_DS2ACIS, ATTRIB_DC2ACIS, ID_ATTRIB, NO_MERGE_ATTRIB, ATTRIB_EYE_ATTACHED_MESH, NORENDER_ATTRIB, ATTRIB_EYE_POINTLIST_HEADER, ATTRIB_RGB, and ATTRIB_VAR_BLEND.
| virtual logical ATTRIB::pattern_copyable | ( | ) | const [virtual, inherited] |
Returns TRUE if the ATTRIB is pattern-copyable.
Role: This virtual method indicates whether this attribute should be copied when its owning entity is copied for the purpose of creating a new pattern element (i.e., when reason == SCAN_PATTERN).
By default, this virtual method returns the value returned by copyable. This behavior should be overridden in derived classes that are deemed to be not pattern-copyable.
| ATTRIB* ATTRIB::previous | ( | ) | const [inline, inherited] |
Returns the previous attribute in this ATTRIB's linked list.
| virtual void ENTITY::remove | ( | logical | lose_if_zero = TRUE |
) | [virtual, inherited] |
Decrements the use count of this ENTITY.
Role: If the use count reaches 0, the ENTITY's lose method is called if the argument lose_if_zero is set to TRUE. (If the entity is not use counted, an error is signaled.)
Every held pointer to a use counted ENTITY should be declared by calling add. There should a corresponding call to remove when the user is done with the pointer. For normal ENTITYs, simply call lose when the ENTITY is no longer part of the active model. For use counted ENTITYs, the implementations of add and remove come from macros in usecount.hxx. Use counted ENTITYs implemented without the macros should implement these virtual methods manually.
| lose_if_zero | flag to lose the ENTITY when the use count drops to 0. |
Reimplemented in CURVE, SPAGROUP, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.
| virtual void ATTRIB::replace_owner | ( | ENTITY * | other_entity, | |
| logical | replace_owner | |||
| ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY is being replaced.
Role: When the argument replace_owner is TRUE, the owner of this attribute is being replaced by other_entity; when it is FALSE, other_entity is being replaced by this attribute's owner.
Depending on the application needs of your attribute, it may be possible to utilize the set_replace_owner_action method to specify how your attribute should act within replace_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| virtual void ATTRIB::replace_owner_geometry | ( | ENTITY * | new_geom | ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY is being given new geometry, possibly changing its shape.
Role: This member function informs the attribute that the its owning ENTITY is being given new geometry.
Depending on the application needs of your attribute, it may be possible to utilize the set_rep_owner_geom_action method to specify how your attribute should act within replace_owner_geometry, which would preclude the need to actually implement this method.
The default action is to do nothing.
| new_geom | the new geometry. |
Reimplemented in ATTRIB_EYE_ATTACHED_MESH, and ATTRIB_EYE_POINTLIST_HEADER.
| void ATTRIB_FACECFACE::restore_common | ( | ) |
Restores data for a record from disc to memory.
Role: Writes pointers as indices (fix_pointers turns them back into pointers) and returns a pointer to the ENTITY made. Generally, "common" functions that do the main work are protected, as they are called only from the main entry functions or by themselves up the derivation tree.
This method is public, however, because the main restore function is not a member function, and making it a friend would make it unable to be declared static, i.e., local to the defining module. (Supplied by the ENTITY_FUNCTIONS and RESTORE_DEF macros.)
read_ptr Pointer to record in save file for first attribute owned by entity.
if (restore_version_number >= ENTITY_TAGS_VERSION)
read_int new tag
Reimplemented from ATTRIB_CT.
| void ENTITY::restore_end | ( | char * | id_str | ) | [inherited] |
Terminates a restore record.
Role: Reads any trailing text and fills in the unknown text pointer. Used only by the save/restore system.
| id_str | the id string. |
| virtual void ATTRIB_FACECFACE::reverse_owner | ( | ) | [virtual] |
Notifies this ATTRIB that its owning entity's sense bit is about to be reversed.
Role: The application has the chance to do something relevant. For example, faceter attributes reverse the mesh's face normals (or delete the mesh) when the owning face is reversed.
Depending on the application needs of your attribute, it may be possible to utilize the set_reverse_owner_action method to specify how your attribute should act within reverse_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
Reimplemented from ATTRIB.
| virtual void ENTITY::roll_notify | ( | BULLETIN_TYPE | bulletin_type, | |
| ENTITY * | ent | |||
| ) | [protected, virtual, inherited] |
Fields notifications of rollback operations.
Role: The first argument specifies the type of bulletin being rolled back (create, delete or change). In the case of a change notification, the second argument contains the information to be restored into this object. The base implementation, which is used for almost every derived class, does nothing at all.
| bulletin_type | type of bulletin being rolled back. | |
| ent | information to be restored into this argument. |
Reimplemented in ANNOTATION, ASM_MODEL_REF, ATTRIB_INTCOED, ATTRIB_EFINT, ATTRIB_FFBLEND, ATTRIB_CONST_CHAMFER, COEDGE, ATTRIB_COL, CURVE, ATTRIB_DM2ACIS, EDGE, EE_LIST, FACE, GA_WORKSPACE, ID_ATTRIB, LOOP, ATTRIB_EYE_ATTACHED_MESH, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, ATTRIB_RGB, RH_MATERIAL, RH_LIGHT, RH_BACKGROUND, RH_FOREGROUND, RH_TEXTURE_SPACE, SURFACE, TCOEDGE, TEDGE, TVERTEX, ATTRIB_VAR_BLEND, VERTEX, VERTEX_TEMPLATE, and WCS.
| BULLETIN*& ENTITY::rollback | ( | ) | const [inline, inherited] |
Returns the pointer to the bulletin board entry for this ENTITY.
| virtual logical ATTRIB::savable | ( | ) | const [virtual, inherited] |
Indicates whether this ATTRIB should be included when the owning entity is saved.
Role: The default is to call duplicatable().
Reimplemented in ATTRIB_ANNOTATION, ATTRIB_GEN_WSTRING, ATTRIB_DM2ACIS, ID_ATTRIB, ATTRIB_EYE_ATTACHED_MESH, and ATTRIB_EYE_POINTLIST_HEADER.
| virtual void ATTRIB_FACECFACE::save | ( | ENTITY_LIST & | entity_list | ) | const [virtual] |
Performs a save operation.
Role: Calls save_begin, the particular class's save_common, and then save_end. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)
This save method is just like any other save, except that it calls save_begin with an optional argument to suppress writing of a trailing dash, because save_common does not write out an identifier, or call any parent class's save_common.
| entity_list | ENTITYs to save. |
Reimplemented from ATTRIB_CT.
| void ENTITY::save_begin | ( | logical | terminator = FALSE |
) | const [protected, inherited] |
Starts a save record.
Role: Writes a preamble to a save file record, which contains any subclass identifiers not known to this version of ACIS. Called by the save method.
| terminator | terminator flag. |
| void ATTRIB_FACECFACE::save_common | ( | ENTITY_LIST & | entity_list | ) | const [protected] |
Handles the save operation.
Role: Writes out the savable data associated with the base class. In the case of ENTITY, saveable data is simply the attribute pointer. In the case of child classes derived from ENTITY, class-specific save_common methods handle the class-specific data. Called by the save method. (Supplied by the ENTITY_FUNCTIONS and SAVE_DEF macros.)
Each derived class's save_common method first writes out that class's identifier, calls its parent class's save_common method, and then writes out data particular to the derived class. Thus the save record consists of identifiers in leaf-to-base order, followed by class data in base-to-leaf order. As it writes out any ENTITY pointers, it adds them to the ENTITY_LIST, so that any dependent data also gets written to the file.
| entity_list | ENTITYs to save |
Reimplemented from ATTRIB_CT.
| void ENTITY::save_end | ( | ENTITY_LIST & | list | ) | const [protected, inherited] |
Terminates a save record.
Role: Writes out any data associated with subclasses not known to this version of ACIS before terminating the record. Called by the save method.
| list | list of entities. |
| void ENTITY::set_attrib | ( | ATTRIB * | attr | ) | [inherited] |
Changes the attribute pointer of this ENTITY to point to the given attribute.
| attr | the new attribute. |
| void ATTRIB_FACECFACE::set_back_cface | ( | CFACE * | cface | ) |
| copy_action ATTRIB::set_copy_owner_action | ( | const copy_action | action | ) | [inherited] |
Set the copy_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the copy_owner action on an attribute that implements copy_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its copy_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever copy_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| tolerant_action ATTRIB::set_from_tolerant_owner_action | ( | const tolerant_action | action | ) | [inherited] |
Set the from_tolerant_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the from_tolerant_owner action on an attribute that implements from_tolerant_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its from_tolerant_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever from_tolerant_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| void ATTRIB_FACECFACE::set_front_cface | ( | CFACE * | cface | ) |
| geometry_changed_action ATTRIB::set_lop_change_owner_action | ( | const geometry_changed_action | action | ) | [inherited] |
Set the lop_change_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the lop_change_owner action on an attribute that implements lop_change_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its lop_change_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever lop_change_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| merge_action ATTRIB::set_merge_owner_action | ( | const merge_action | action | ) | [inherited] |
Set the merge_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the merge_owner action on an attribute that implements merge_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its merge_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever merge_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| geometry_changed_action ATTRIB::set_rep_owner_geom_action | ( | const geometry_changed_action | action | ) | [inherited] |
Set the replace_owner_geometry action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the replace_owner_geometry action on an attribute that implements replace_owner_geometry will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its replace_owner_geometry action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever replace_owner_geometry action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| replace_action ATTRIB::set_replace_owner_action | ( | const replace_action | action | ) | [inherited] |
Set the replace_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the replace_owner action on an attribute that implements replace_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its replace_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever replace_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| geometry_changed_action ATTRIB::set_reverse_owner_action | ( | const geometry_changed_action | action | ) | [inherited] |
Set the reverse_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the reverse_owner action on an attribute that implements reverse_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its reverse_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever reverse_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| split_action ATTRIB::set_split_owner_action | ( | const split_action | action | ) | [inherited] |
Set the split_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the split_owner action on an attribute that implements split_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its split_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever split_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| tolerant_action ATTRIB::set_to_tolerant_owner_action | ( | const tolerant_action | action | ) | [inherited] |
Set the to_tolerant_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the to_tolerant_owner action on an attribute that implements to_tolerant_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its to_tolerant_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever to_tolerant_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| trans_action ATTRIB::set_trans_owner_action | ( | const trans_action | action | ) | [inherited] |
Set the trans_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the trans_owner action on an attribute that implements trans_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its trans_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever trans_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| virtual void ENTITY::set_use_count | ( | int | use | ) | [virtual, inherited] |
Sets the reference use count of this ENTITY.
Role: If the ENTITY is not use counted, this method does nothing.
| use | new use count. |
Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.
| geometry_changed_action ATTRIB::set_warp_owner_action | ( | const geometry_changed_action | action | ) | [inherited] |
Set the warp_owner action for this attribute.
Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.
Setting the warp_owner action on an attribute that implements warp_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its warp_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever warp_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)
| action | the specified action. |
| virtual unsigned ATTRIB_FACECFACE::size | ( | ) | const [virtual] |
| virtual void ATTRIB_FACECFACE::split_owner | ( | ENTITY * | new_entity | ) | [virtual] |
Notifies this ATTRIB that its owner is about to be split into two parts.
Role: The application has the chance to duplicate or otherwise modify the attribute. This function is supplied by the application whenever it derives a new attribute, and is called when a split occurs.
Depending on the application needs of your attribute, it may be possible to utilize the set_split_owner_action method to specify how your attribute should act within split_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| new_entity | the new entity arising from the split. |
Reimplemented from ATTRIB.
| tag_id_type ENTITY::tag | ( | logical | assign_new = TRUE |
) | const [inline, inherited] |
Data reading routine.
| assign_new | flag to assign a new tag number or not. |
| virtual void ATTRIB::to_tolerant_owner | ( | ENTITY * | tol_ent | ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY is being replaced with a tolerant ENTITY.
Role: The default action is to move the attribute onto the given tolerant ENTITY only if moveable() returns TRUE.
Depending on the application needs of your attribute, it may be possible to utilize the set_to_tolerant_owner_action method to specify how your attribute should act within to_tolerant_owner, which would preclude the need to actually implement this method.
| tol_ent | the new, tolerant owner. |
| virtual void ATTRIB::trans_owner | ( | const SPAtransf & | transf | ) | [virtual, inherited] |
Notifies this ATTRIB that its owner is about to be transformed.
Role: The application has the chance to transform the attribute.
Depending on the application needs of your attribute, it may be possible to utilize the set_trans_owner_action method to specify how your attribute should act within trans_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| transf | the transformation being applied. |
Reimplemented in ATTRIB_ANNOTATION, ATTRIB_EFINT, ATTRIB_FACEINT, ATTRIB_CELL, ATTRIB_FFBLEND, ATTRIB_CONST_CHAMFER, ATTRIB_DM2ACIS, ATTRIB_EYE_ATTACHED_MESH, ATTRIB_EYE_POINTLIST_HEADER, ATTRIB_CONST_ROUND, and ATTRIB_VAR_BLEND.
| virtual void ATTRIB::trans_owner_list | ( | const SPAtransf & | transf, | |
| ENTITY_LIST & | e_list | |||
| ) | [virtual, inherited] |
Notifies this ATTRIB that its owner is about to be transformed.
Role: The application has the chance to transform the attribute. The default action is to call trans_owner.
The list argument is a list of already transformed entities, which can be used to stop infinite recursions by checking whether entities pointed to by the attribute are already in the list.
| transf | the transformation being applied. | |
| e_list | ENTITY list. |
Reimplemented in ATTRIB_GEN_NAME.
| virtual const char* ATTRIB_FACECFACE::type_name | ( | ) | const [virtual] |
| ATTRIB* ATTRIB::unhook | ( | ) | [inherited] |
Removes this ATTRIB from the chain of attributes of its owning ENTITY.
Role: Since the process of unhooking sets the base class pointers (entity_ptr, previous_ptr, and next_ptr) to NULL, therby changing the entity, unhook must first call backup to preserve the prior state of the attribute for rollback purposes. This then allows one to freely modify the pointers, presumably in a derived class method, without worrying whether or not to call backup.
| virtual int ENTITY::use_count | ( | ) | const [virtual, inherited] |
Returns the use count of this ENTITY.
Role: Returns zero if the ENTITY is not use counted.
Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.
| virtual void ATTRIB::warp_owner | ( | law * | warp | ) | [virtual, inherited] |
Notifies this ATTRIB that its owning ENTITY will be modified by warping.
Role: This member function allows geometric attributes to warp themselves when their owners are warped.
Depending on the application needs of your attribute, it may be possible to utilize the set_warp_owner_action method to specify how your attribute should act within warp_owner, which would preclude the need to actually implement this method.
The default action is to do nothing.
| warp | the law being used by the warping operation. |
Reimplemented in ATTRIB_ANNOTATION, and ATTRIB_EYE_POINTLIST_HEADER.