ATTRIB_EYE_ATTACHED_MESH
List of: Classes
Subjects: Faceting, SAT Save and Restore
Contents: Faceter

Purpose: Defines an attribute to attach facets to an entity as a MESH.

Derivation: ATTRIB_EYE_ATTACHED_MESH : ATTRIB_EYE : ATTRIB : ENTITY : ACIS_OBJECT : -

SAT Identifier: "fmesh"

Filename: fct/faceter/attribs/meshat.hxx

Description: The mesh manager in the faceter leaves it up to the application to determine where it will store the meshes. One possibility is to attach a mesh to its owning face. This class is intended to be a utility for this purpose. It attaches any mesh that is derived from MESH. Typically it will be used to attach the mesh (facets) of a face to the face.

References: FCT MESH

Constructor: public: ATTRIB_EYE_ATTACHED_MESH::ATTRIB_EYE_ATTACHED_MESH (


ENTITY* // owner of this mesh



= NULL,


MESH* meshptr // mesh to attach



= NULL,


MESH_APP_ID app_id // application id



= 0,


MESH_USER_ID user_id // user id



= 0


);


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


Initializes internal data. The application identification should be unique to the application. The user identification allows multiple meshes to be attached to the entity.




Destructor: public: virtual void


ATTRIB_EYE_ATTACHED_MESH::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_EYE_ATTACHED_MESH::


~ATTRIB_EYE_ATTACHED_MESH ();


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



Methods: public: void ATTRIB_EYE_ATTACHED_MESH::change_state_id ();


Increment the state ID.






public: virtual void


ATTRIB_EYE_ATTACHED_MESH::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: MESH_APP_ID


ATTRIB_EYE_ATTACHED_MESH::get_app_id ();


Returns the application identification of this attribute.






public: MESH* ATTRIB_EYE_ATTACHED_MESH::get_mesh ();


Returns the mesh of this attribute.






public: MESH const* ATTRIB_EYE_ATTACHED_MESH::


get_mesh_const() const;


Returns the mesh constant of this attribute.






public: MESH_USER_ID


ATTRIB_EYE_ATTACHED_MESH::get_user_id ();


Returns the user identification of this attribute.






public: virtual int


ATTRIB_EYE_ATTACHED_MESH::identity (


int
// level



= 0


) const;


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






public: virtual logical


ATTRIB_EYE_ATTACHED_MESH::is_deepcopyable (


) const;


Returns TRUE if this can be deep copied.






public: virtual void


ATTRIB_EYE_ATTACHED_MESH::merge_owner (


ENTITY* mate_entity, // given entity


logical delete_this // deleting owner


);


Notifies the ATTRIB_EYE_ATTACHED_MESH that its owning ENTITY is about to be merged with given entity. The application has the chance to delete or otherwise modify the attribute. After the merge, this owner will be deleted if the logical deleting owner is TRUE, otherwise it will be retained and other entity will be deleted. The default action is to do nothing. This function is supplied by the application whenever it defines a new attribute, and is called when a merge occurs.






public: virtual logical


ATTRIB_EYE_ATTACHED_MESH::pattern_compatible (


) const;


Returns TRUE if this is pattern compatible.






public: void


ATTRIB_EYE_ATTACHED_MESH::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: void ATTRIB_EYE_ATTACHED_MESH::set_app_id (


MESH_APP_ID // application id to set


);


Sets the application identification of this attribute.






public: void ATTRIB_EYE_ATTACHED_MESH::set_mesh (


MESH* // mesh to set


);


Sets the mesh of this attribute.






public: void ATTRIB_EYE_ATTACHED_MESH::set_user_id (


MESH_USER_ID // user id to set


);


Sets the user identification of this attribute.






public: virtual void


ATTRIB_EYE_ATTACHED_MESH::split_owner (


ENTITY* new_piece // new entity


);


Notifies the ATTRIB_EYE_ATTACHED_MESH that its owner is about to be split into two parts. The application has the chance to duplicate or otherwise modify the attribute. The default action is to do nothing. This function is supplied by the application whenever it defines a new attribute, and is called when a split occurs.






public: virtual void


ATTRIB_EYE_ATTACHED_MESH::trans_owner (


SPAtransf const& // transformation


);


Notifies the ATTRIB_EYE_ATTACHED_MESH that its owner is about to be transformed. The application has the chance to transform the attribute. The default action is to do nothing. This function is supplied by the application whenever it defines a new attribute, and is called when a transformation occurs.






public: virtual const char*


ATTRIB_EYE_ATTACHED_MESH::type_name () const;


Return the string "fmesh".






public: virtual void


ATTRIB_EYE_ATTACHED_MESH::warp_owner (


law* // warp law


);


Warp the owner of the attribute.

Internal Use: lop_change_owner, replace_owner_geometry, save, save_common




Related Fncs: af_delete_facets, af_query, af_update, is_ATTRIB_EYE_ATTACHED_MESH
PDF/FCT/04CL.PDF
HTM/DATA/FCT/FCT/04CL/0002.HTM