|
| | XCAFDoc_VisMaterial () |
| | Empty constructor.
|
| |
| bool | IsEmpty () const |
| | Return TRUE if material definition is empty.
|
| |
| void | FillMaterialAspect (Graphic3d_MaterialAspect &theAspect) const |
| | Fill in material aspect.
|
| |
| void | FillAspect (const occ::handle< Graphic3d_Aspects > &theAspect) const |
| | Fill in graphic aspects.
|
| |
| bool | HasPbrMaterial () const |
| | Return TRUE if metal-roughness PBR material is defined; FALSE by default.
|
| |
| const XCAFDoc_VisMaterialPBR & | PbrMaterial () const |
| | Return metal-roughness PBR material. Note that default constructor creates an empty material (.
|
| |
| void | SetPbrMaterial (const XCAFDoc_VisMaterialPBR &theMaterial) |
| | Setup metal-roughness PBR material.
|
| |
| void | UnsetPbrMaterial () |
| | Setup undefined metal-roughness PBR material.
|
| |
| bool | HasCommonMaterial () const |
| | Return TRUE if common material is defined; FALSE by default.
|
| |
| const XCAFDoc_VisMaterialCommon & | CommonMaterial () const |
| | Return common material. Note that default constructor creates an empty material (.
|
| |
| void | SetCommonMaterial (const XCAFDoc_VisMaterialCommon &theMaterial) |
| | Setup common material.
|
| |
| void | UnsetCommonMaterial () |
| | Setup undefined common material.
|
| |
| Quantity_ColorRGBA | BaseColor () const |
| | Return base color.
|
| |
| Graphic3d_AlphaMode | AlphaMode () const |
| | Return alpha mode; Graphic3d_AlphaMode_BlendAuto by default.
|
| |
| float | AlphaCutOff () const |
| | Return alpha cutoff value; 0.5 by default.
|
| |
| void | SetAlphaMode (Graphic3d_AlphaMode theMode, float theCutOff=0.5f) |
| | Set alpha mode.
|
| |
| Graphic3d_TypeOfBackfacingModel | FaceCulling () const |
| | Returns if the material is double or single sided; Graphic3d_TypeOfBackfacingModel_Auto by default.
|
| |
| void | SetFaceCulling (Graphic3d_TypeOfBackfacingModel theFaceCulling) |
| | Specifies whether the material is double or single sided.
|
| |
| bool | IsDoubleSided () const |
| |
| instead void | SetDoubleSided (bool theIsDoubleSided) |
| |
| const occ::handle< TCollection_HAsciiString > & | RawName () const |
| | Return material name / tag (transient data, not stored in the document).
|
| |
| void | SetRawName (const occ::handle< TCollection_HAsciiString > &theName) |
| | Set material name / tag (transient data, not stored in the document).
|
| |
| bool | IsEqual (const occ::handle< XCAFDoc_VisMaterial > &theOther) const |
| | Compare two materials. Performs deep comparison by actual values - e.g. can be useful for merging materials.
|
| |
| XCAFDoc_VisMaterialCommon | ConvertToCommonMaterial () |
| | Return Common material or convert PBR into Common material.
|
| |
| XCAFDoc_VisMaterialPBR | ConvertToPbrMaterial () |
| | Return PBR material or convert Common into PBR material.
|
| |
| virtual void | SetID (const Standard_GUID &) |
| | Sets specific ID of the attribute (supports several attributes of one type at the same label feature).
|
| |
| virtual void | SetID () |
| | Sets default ID defined in nested class (to be used for attributes having User ID feature).
|
| |
| const TDF_Label | Label () const |
| | Returns the label to which the attribute is attached. If the label is not included in a DF, the label is null. See Label. Warning: If the label is not included in a data framework, it is null. This function should not be redefined inline.
|
| |
| int | Transaction () const |
| | Returns the transaction index in which the attribute has been created or modified.
|
| |
| int | UntilTransaction () const |
| | Returns the upper transaction index until which the attribute is/was valid. This number may vary. A removed attribute validity range is reduced to its transaction index.
|
| |
| bool | IsValid () const |
| | Returns true if the attribute is valid; i.e. not a backuped or removed one.
|
| |
| bool | IsNew () const |
| | Returns true if the attribute has no backup.
|
| |
| bool | IsForgotten () const |
| | Returns true if the attribute forgotten status is set.
|
| |
| bool | IsAttribute (const Standard_GUID &anID) const |
| | Returns true if it exists an associated attribute of <me> with <anID> as ID.
|
| |
| bool | FindAttribute (const Standard_GUID &anID, occ::handle< TDF_Attribute > &anAttribute) const |
| | Finds an associated attribute of <me>, according to <anID>. the returned <anAttribute> is a valid one. The method returns True if found, False otherwise. A removed attribute cannot be found using this method.
|
| |
| template<class T > |
| bool | FindAttribute (const Standard_GUID &theID, occ::handle< T > &theAttr) const |
| | Safe variant for arbitrary type of argument.
|
| |
| void | AddAttribute (const occ::handle< TDF_Attribute > &other) const |
| | Adds an Attribute <other> to the label of <me>. Raises if there is already one of the same GUID than <other>.
|
| |
| bool | ForgetAttribute (const Standard_GUID &aguid) const |
| | Forgets the Attribute of GUID <aguid> associated to the label of <me>. Be careful that if <me> is the attribute of <guid>, <me> will have a null label after this call. If the attribute doesn't exist returns False. Otherwise returns True.
|
| |
| void | ForgetAllAttributes (const bool clearChildren=true) const |
| | Forgets all the attributes attached to the label of <me>. Does it on the sub-labels if <clearChildren> is set to true. Of course, this method is compatible with Transaction & Delta mechanisms. Be careful that if <me> will have a null label after this call.
|
| |
| virtual void | AfterAddition () |
| | Something to do after adding an Attribute to a label.
|
| |
| virtual void | BeforeRemoval () |
| | Something to do before removing an Attribute from a label.
|
| |
| virtual void | BeforeForget () |
| | Something to do before forgetting an Attribute to a label.
|
| |
| virtual void | AfterResume () |
| | Something to do after resuming an Attribute from a label.
|
| |
| virtual bool | AfterRetrieval (const bool forceIt=false) |
| | Something to do AFTER creation of an attribute by persistent-transient translation. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceIt> is set to true, the method MUST perform and return true. Does nothing by default and returns true.
|
| |
| virtual bool | BeforeUndo (const occ::handle< TDF_AttributeDelta > &anAttDelta, const bool forceIt=false) |
| | Something to do before applying <anAttDelta>. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceIt> is set to true, the method MUST perform and return true. Does nothing by default and returns true.
|
| |
| virtual bool | AfterUndo (const occ::handle< TDF_AttributeDelta > &anAttDelta, const bool forceIt=false) |
| | Something to do after applying <anAttDelta>. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceIt> is set to true, the method MUST perform and return true. Does nothing by default and returns true.
|
| |
| virtual void | BeforeCommitTransaction () |
| | A callback. By default does nothing. It is called by TDF_Data::CommitTransaction() method.
|
| |
| void | Backup () |
| | Backups the attribute. The backuped attribute is flagged "Backuped" and not "Valid".
|
| |
| bool | IsBackuped () const |
| | Returns true if the attribute backup status is set. This status is set/unset by the Backup() method.
|
| |
| virtual occ::handle< TDF_Attribute > | BackupCopy () const |
| | Copies the attribute contents into a new other attribute. It is used by Backup().
|
| |
| virtual occ::handle< TDF_DeltaOnAddition > | DeltaOnAddition () const |
| | Makes an AttributeDelta because <me> appeared. The only known use of a redefinition of this method is to return a null handle (no delta).
|
| |
| virtual occ::handle< TDF_DeltaOnForget > | DeltaOnForget () const |
| | Makes an AttributeDelta because <me> has been forgotten.
|
| |
| virtual occ::handle< TDF_DeltaOnResume > | DeltaOnResume () const |
| | Makes an AttributeDelta because <me> has been resumed.
|
| |
| virtual occ::handle< TDF_DeltaOnModification > | DeltaOnModification (const occ::handle< TDF_Attribute > &anOldAttribute) const |
| | Makes a DeltaOnModification between <me> and.
|
| |
| virtual void | DeltaOnModification (const occ::handle< TDF_DeltaOnModification > &aDelta) |
| | Applies a DeltaOnModification to <me>.
|
| |
| virtual occ::handle< TDF_DeltaOnRemoval > | DeltaOnRemoval () const |
| | Makes a DeltaOnRemoval on <me> because <me> has disappeared from the DS.
|
| |
| virtual void | References (const occ::handle< TDF_DataSet > &aDataSet) const |
| | Adds the first level referenced attributes and labels to <aDataSet>.
|
| |
| virtual Standard_OStream & | Dump (Standard_OStream &anOS) const |
| | Dumps the minimum information about <me> on <aStream>.
|
| |
| Standard_OStream & | operator<< (Standard_OStream &anOS) const |
| |
| virtual void | ExtendedDump (Standard_OStream &anOS, const TDF_IDFilter &aFilter, NCollection_IndexedMap< occ::handle< TDF_Attribute > > &aMap) const |
| | Dumps the attribute content on <aStream>, using <aMap> like this: if an attribute is not in the map, first put add it to the map and then dump it. Use the map rank instead of dumping each attribute field.
|
| |
| void | Forget (const int aTransaction) |
| | Forgets the attribute. <aTransaction> is the current transaction in which the forget is done. A forgotten attribute is also flagged not "Valid".
|
| |
Public Member Functions inherited from Standard_Transient |
| | Standard_Transient () |
| | Empty constructor.
|
| |
| | Standard_Transient (const Standard_Transient &) |
| | Copy constructor – does nothing.
|
| |
| Standard_Transient & | operator= (const Standard_Transient &) |
| | Assignment operator, needed to avoid copying reference counter.
|
| |
| virtual | ~Standard_Transient ()=default |
| | Destructor must be virtual.
|
| |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| | Returns a type descriptor about this object.
|
| |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| | Returns a true value if this is an instance of Type.
|
| |
| bool | IsInstance (const char *const theTypeName) const |
| | Returns a true value if this is an instance of TypeName.
|
| |
| bool | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| | Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| bool | IsKind (const char *const theTypeName) const |
| | Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Transient * | This () const |
| | Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
|
| |
| int | GetRefCount () const noexcept |
| | Get the reference counter of this object.
|
| |
| void | IncrementRefCounter () noexcept |
| | Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
|
| |
| int | DecrementRefCounter () noexcept |
| | Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
|
| |
| virtual void | Delete () const |
| | Memory deallocator for transient classes.
|
| |
Attribute storing Material definition for visualization purposes.
Visualization material provides extended information about how object should be displayed on the screen (albedo, metalness, roughness - not just a single color as in case of XCAFDoc_Color). It is expected to correlate with physical material properties (XCAFDoc_Material), but not necessarily (like painted/polished/rusty object).
The document defines the list of visualization materials via global attribute XCAFDoc_VisMaterialTool, while particular material assignment to the shape is done through tree-nodes links. Therefore, XCAFDoc_VisMaterialTool methods should be used for managing XCAFDoc_VisMaterial attributes.
Visualization material definition consists of two options: Common and PBR (for Physically Based Rendering). Common material definition is an obsolete model defined by very first version of OpenGL graphics API and having specific hardware-accelerated implementation in past (like T&L). PBR metallic-roughness model is closer to physical material properties, and intended to be used within physically-based renderer.
For compatibility reasons, this attribute allows defining both material models, so that it is up-to Data Exchange and Application deciding which one to define and use for rendering (depending on viewer capabilities). Automatic conversion from one model to another is possible, but lossy (converted material will not look the same).
Within Data Exchange, different file formats have different capabilities for storing visualization material properties from simple color (STEP, IGES), to common (OBJ, glTF 1.0) and PBR (glTF 2.0). This should be taken into account while defining or converting document into one or another format - material definition might be lost or disturbed.
- See also
- XCAFDoc_VisMaterialTool