C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

User system attribute. More...

#include <attr_user_attribute.h>

+ Inheritance diagram for MbUserAttribute:
+ Collaboration diagram for MbUserAttribute:

Public Member Functions

MbeAttributeType AttributeFamily () const override
 Get attribute type.
 
MbeAttributeType AttributeType () const override
 Get subtype of an attribute.
 
MbAttributeDuplicate (MbRegDuplicate *=nullptr) const override
 Create a copy of the element.
 
bool IsSame (const MbAttribute &, double accuracy) const override
 Determine whether objects are equal. More...
 
bool Init (const MbAttribute &) override
 Initialize data.
 
void OnChangeOwner (const MbAttributeContainer &owner) override
 Perform actions which are not associated with other actions when changing the owner. More...
 
void OnConvertOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
void OnTransformOwner (const MbAttributeContainer &owner, const MbMatrix3D &, MbRegTransform *=nullptr) override
 
void OnMoveOwner (const MbAttributeContainer &owner, const MbVector3D &, MbRegTransform *=nullptr) override
 
void OnRotateOwner (const MbAttributeContainer &owner, const MbAxis3D &, double angle, MbRegTransform *=nullptr) override
 
void OnCopyOwner (const MbAttributeContainer &owner, MbAttributeContainer &other, MbRegDuplicate *=nullptr) override
 
void OnMergeOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
void OnReplaceOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
void OnSplitOwner (const MbAttributeContainer &owner, const std::vector< MbAttributeContainer * > &others) override
 
void OnDeleteOwner (const MbAttributeContainer &owner) override
 
const TCHAR * GetPrompt () const
 Get a hint.
 
void GetUserAttribId (MbUserAttribType &attrId) const
 Get identifier of stored attribute.
 
void SetUserData (const char *extAttrMemory)
 Set user data.
 
void SetUserData (const std::vector< char > &extAttrData)
 Set user data.
 
bool GetUserData (membuf &) const
 Get user data.
 
bool MakeExternalAttribute (bool keepExisting)
 Make a user external attribute using user data.
 
bool UpdateByExternalAttribute () const
 Update user data using the user external attribute.
 
const MbExternalAttributeGetExternalAttribute () const
 Get a user external attribute.
 
bool SetExternalAttribute (MbExternalAttribute *)
 Set a user external attribute.
 
void SetExternalAttribute (const MbExternalAttribute &)
 Set a user external attribute (copy).
 
void GetProperties (MbProperties &) override
 Get properties of the object.
 
size_t SetProperties (const MbProperties &) override
 Set properties of object.
 
MbePrompt GetPropertyName () override
 Get a name of object property.
 
- Public Member Functions inherited from MbAttribute
virtual ~MbAttribute ()
 Destructor.
 
OnChangeOwnerAction GetActionForChange () const
 Get behavior of attribute when changing the owner.
 
OnConvertOwnerAction GetActionForConvert () const
 Get behavior of attribute when converting the owner.
 
OnTransformOwnerAction GetActionForTransform () const
 Get behavior of attribute when transforming the owner.
 
OnCopyOwnerAction GetActionForCopy () const
 Get behavior of attribute when copying the owner.
 
OnMergeOwnerAction GetActionForMerge () const
 Get behavior of attribute when merging the owner.
 
OnReplaceOwnerAction GetActionForReplace () const
 Get behavior of attribute when replacing the owner.
 
OnSplitOwnerAction GetActionForSplit () const
 Get behavior of attribute when splitting the owner.
 
OnDeleteOwnerAction GetActionForDelete () const
 Get behavior of attribute when deleting the owner.
 
void SetActionForChange (OnChangeOwnerAction a)
 Set behavior of attribute when changing the owner.
 
void SetActionForConvert (OnConvertOwnerAction a)
 Set behavior of attribute when converting the owner.
 
void SetActionForTransform (OnTransformOwnerAction a)
 Set behavior of attribute when transforming the owner.
 
void SetActionForCopy (OnCopyOwnerAction a)
 Set behavior of attribute when copying the owner.
 
void SetActionForMerge (OnMergeOwnerAction a)
 Set behavior of attribute when merging the owner.
 
void SetActionForReplace (OnReplaceOwnerAction a)
 Set behavior of attribute when replacing the owner.
 
void SetActionForSplit (OnSplitOwnerAction a)
 Set behavior of attribute when splitting the owner.
 
void SetActionForDelete (OnDeleteOwnerAction a)
 Set behavior of attribute when deleting the owner.
 
void InitActions (const MbAttribute &)
 Define behavior of an attribute by another attribute.
 
bool IsFamilyRegistrable () const override
 Whether the object belongs to a registrable family.
 
MbeRefType RefType () const override
 Get registrational type (for copying, duplication)
 
virtual MbeImplicationType ImplicationType () const
 Get attribute container type.
 
bool IsA (MbeAttributeType t) const
 Check an attribute type.
 
- Public Member Functions inherited from MbRefItem
refcount_t GetUseCount () const
 Get count of references (get count of owners of an object).
 
refcount_t AddRef () const
 Increase count of references by one.
 
refcount_t DecRef () const
 Decrease count of references by one.
 
refcount_t Release () const
 Decrease count of references by one and if count of references became zero, then remove itself.
 
- Public Member Functions inherited from TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Constructor.
 
 TapeBase (const TapeBase &)
 Copy-constructor.
 
virtual ~TapeBase ()
 Destructor.
 
RegistrableRec GetRegistrable () const
 Whether the stream class is registrable.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Set the state of registration of the stream class.
 
virtual const char * GetPureName (const VersionContainer &) const
 Get the class name.
 
- Public Member Functions inherited from MbSyncItem
void Lock () const
 Switch lock on (locking happens only in parallel region).
 
void Unlock () const
 Switch lock off if locking has been set.
 

Static Public Member Functions

static MbeAttributeType AttributeType (const MbUserAttribType &userType)
 Get subtype of an user attribute by user-defined type.
 

Protected Attributes

MbUserAttribType userType_
 Type of user attribute.
 
c3d::string_t prompt_
 String of description.
 

Friends

template<typename AttrClass >
class UserAttrDefinition
 

Additional Inherited Members

- Public Types inherited from MbAttribute
enum  OnChangeOwnerAction { chn_Self = 0 , chn_Free , chn_Keep , chn_ActCount }
 
enum  OnConvertOwnerAction {
  cnv_Self = 0 , cnv_Free , cnv_Keep , cnv_Copy ,
  cnv_Convert , cnv_ActCount
}
 
enum  OnTransformOwnerAction { trn_Self = 0 , trn_Free , trn_Keep , trn_ActCount }
 
enum  OnCopyOwnerAction {
  cpy_Self = 0 , cpy_Free , cpy_Keep , cpy_Copy ,
  cpy_ActCount
}
 
enum  OnMergeOwnerAction {
  mrg_Self = 0 , mrg_Free , mrg_Keep , mrg_KeepAll ,
  mrg_KeepRep , mrg_ActCount
}
 
enum  OnReplaceOwnerAction {
  rep_Self = 0 , rep_Free , rep_Keep , rep_KeepAll ,
  rep_KeepRep , rep_ActCount
}
 
enum  OnSplitOwnerAction {
  spl_Self = 0 , spl_Free , spl_Keep , spl_Copy ,
  spl_ActCount
}
 
enum  OnDeleteOwnerAction { del_Self = 0 , del_Free , del_ActCount }
 
- Protected Member Functions inherited from MbAttribute
 MbAttribute ()
 Constructor without parameters for inheritors.
 
 MbAttribute (const MbAttribute &)
 Copy constructor for inheritors.
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 

Detailed Description

User system attribute.

User system attribute.

Member Function Documentation

◆ IsSame()

bool MbUserAttribute::IsSame ( const MbAttribute item,
double  accuracy 
) const
overridevirtual

Determine whether objects are equal.

Objects of the same types with similar (equal) data are considered to be equal.

Parameters
[in]item- Objects for comparison.
[in]accuracy- The accuracy to compare.
Returns
Whether objects are equal.

Implements MbAttribute.

◆ OnChangeOwner()

void MbUserAttribute::OnChangeOwner ( const MbAttributeContainer owner)
overridevirtual

Perform actions which are not associated with other actions when changing the owner.

Actions which are not associated with other actions when changing the owner.
This function is called after changing the owning object in a case when GetActionForChange() == chn_Self.

Implements MbAttribute.

◆ OnConvertOwner()

void MbUserAttribute::OnConvertOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
overridevirtual

Perform actions when converting the owner,
This function is called after converting the owning object in a case when GetActionForConvert() == cnv_Self.
The result of object converting is passed as input parameter.

Implements MbAttribute.

◆ OnTransformOwner()

void MbUserAttribute::OnTransformOwner ( const MbAttributeContainer owner,
const MbMatrix3D ,
MbRegTransform = nullptr 
)
overridevirtual

Perform actions when transforming the owner,
This function is called after transforming the owning object in a case when GetActionForTransform() == trn_Self. The registrator of transformed objects may be passed as input parameter.

Implements MbAttribute.

◆ OnMoveOwner()

void MbUserAttribute::OnMoveOwner ( const MbAttributeContainer owner,
const MbVector3D ,
MbRegTransform = nullptr 
)
overridevirtual

Perform actions when moving the owner.
This function is called after moving the owning object in a case when GetActionForTransform() == trn_Self. The registrator of transformed objects may be passed as input parameter.

Implements MbAttribute.

◆ OnRotateOwner()

void MbUserAttribute::OnRotateOwner ( const MbAttributeContainer owner,
const MbAxis3D ,
double  angle,
MbRegTransform = nullptr 
)
overridevirtual

Perform actions when rotating the owner.
This function is called after rotating the owning object in a case when GetActionForTransform() == trn_Self. The registrator of transformed objects may be passed as input parameter.

Implements MbAttribute.

◆ OnCopyOwner()

void MbUserAttribute::OnCopyOwner ( const MbAttributeContainer owner,
MbAttributeContainer other,
MbRegDuplicate = nullptr 
)
overridevirtual

Perform actions when copying the owner.
This function is called after copying the owning object in a case when GetActionForCopy() == cpy_Self.
The following objects are passed as input parameters: the owning object copy and registrator of copied objects.

Implements MbAttribute.

◆ OnMergeOwner()

void MbUserAttribute::OnMergeOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
overridevirtual

Perform actions when merging the owner.
This function is called before merging the owner in a case when GetActionForMerge() == mrg_Self.
The object which will be absorbed is passed as input parameter.

Implements MbAttribute.

◆ OnReplaceOwner()

void MbUserAttribute::OnReplaceOwner ( const MbAttributeContainer owner,
MbAttributeContainer other 
)
overridevirtual

Perform actions when replacing the owner.
This function is called before replacing the owner in a case when GetActionForReplace() == rep_Self.
The substitutional object is passed as input parameter.

Implements MbAttribute.

◆ OnSplitOwner()

void MbUserAttribute::OnSplitOwner ( const MbAttributeContainer owner,
const std::vector< MbAttributeContainer * > &  others 
)
overridevirtual

Perform actions when splitting the owner.
This function is called after splitting the owning object in a case when GetActionForSplit() == spl_Self.
The container of splitting results is passed as input parameter.

Implements MbAttribute.

◆ OnDeleteOwner()

void MbUserAttribute::OnDeleteOwner ( const MbAttributeContainer owner)
overridevirtual

Perform actions when deleting the owner.
This function is called before deleting the owner in a case when GetActionForDelete() == spl_Self.

Implements MbAttribute.


The documentation for this class was generated from the following file: