C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
MbProductAttribute Class Reference

Base class of product attributes. More...

#include <attr_product.h>

+ Inheritance diagram for MbProductAttribute:
+ Collaboration diagram for MbProductAttribute:

Public Member Functions

MbeAttributeType AttributeFamily () const override
 Get attribute type.
 
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
 
- 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.
 
virtual void GetProperties (MbProperties &)
 Get properties of the object.
 
virtual size_t SetProperties (const MbProperties &)
 Set properties of object.
 
virtual MbePrompt GetPropertyName ()=0
 Get a name of object property.
 
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.
 
virtual MbeAttributeType AttributeType () const =0
 Get subtype of an attribute.
 
virtual MbAttributeDuplicate (MbRegDuplicate *=nullptr) const =0
 Create a copy of the element.
 
virtual bool IsSame (const MbAttribute &item, double accuracy) const =0
 Determine whether objects are equal. More...
 
virtual bool Init (const MbAttribute &)=0
 Initialize data.
 
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

Base class of product attributes.

Member Function Documentation

◆ OnChangeOwner()

void MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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 MbProductAttribute::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: