C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
MbExternalAttribute Class Referenceabstract

User external attribute - the base class. More...

#include <attr_user_attribute.h>

+ Inheritance diagram for MbExternalAttribute:
+ Collaboration diagram for MbExternalAttribute:

Public Member Functions

 MbExternalAttribute ()
 Constructor.
 
virtual ~MbExternalAttribute ()
 Destructor.
 
MbeAttributeType AttributeFamily () const override
 Get attribute type.
 
MbeAttributeType AttributeType () const override
 Get subtype of an attribute.
 
virtual MbUserAttribType AttrTypeEx () const =0
 Get subtype of an attribute.
 
virtual MbAttributeDuplicate (MbRegDuplicate *=nullptr) const override=0
 Create a copy of the element.
 
virtual bool IsSame (const MbAttribute &, double accuracy) const override=0
 Determine whether objects are equal. More...
 
virtual bool Init (const MbAttribute &) override=0
 Initialize data.
 
virtual void OnChangeOwner (const MbAttributeContainer &owner) override
 Perform actions which are not associated with other actions when changing the owner. More...
 
virtual void OnConvertOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
virtual void OnTransformOwner (const MbAttributeContainer &owner, const MbMatrix3D &, MbRegTransform *=nullptr) override
 
virtual void OnMoveOwner (const MbAttributeContainer &owner, const MbVector3D &, MbRegTransform *=nullptr) override
 
virtual void OnRotateOwner (const MbAttributeContainer &owner, const MbAxis3D &, double angle, MbRegTransform *=nullptr) override
 
virtual void OnCopyOwner (const MbAttributeContainer &owner, MbAttributeContainer &other, MbRegDuplicate *=nullptr) override
 
virtual void OnMergeOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
virtual void OnReplaceOwner (const MbAttributeContainer &owner, MbAttributeContainer &other) override
 
virtual void OnSplitOwner (const MbAttributeContainer &owner, const std::vector< MbAttributeContainer * > &others) override
 
virtual void OnDeleteOwner (const MbAttributeContainer &owner) override
 
virtual void GetProperties (MbProperties &) override
 Get properties of the object.
 
virtual 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.
 

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 external attribute - the base class.

User external attribute - the base class.

Member Function Documentation

◆ IsSame()

virtual bool MbExternalAttribute::IsSame ( const MbAttribute item,
double  accuracy 
) const
overridepure virtual

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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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()

virtual void MbExternalAttribute::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: