# DataExchange
TKXCAF
XCAFDoc

# XCAFDoc_MaterialTool Class Reference

Provides tools to store and retrieve attributes (materials)
of TopoDS_Shape in and from TDocStd_Document
A Document is intended to hold different
attributes of ONE shape and it's sub-shapes
.

`#include <XCAFDoc_MaterialTool.hxx>`

## Public Member Functions

Standard_EXPORT | XCAFDoc_MaterialTool ()
Standard_EXPORT TDF_Label | BaseLabel () const
| returns the label under which colors are stored
Standard_EXPORT const Handle_XCAFDoc_ShapeTool & | ShapeTool ()
| Returns internal XCAFDoc_ShapeTool tool .
Standard_EXPORT Standard_Boolean | IsMaterial (const TDF_Label &lab) const
| Returns True if label belongs to a material table and is a Material definition .
Standard_EXPORT void | GetMaterialLabels (TDF_LabelSequence &Labels) const
| Returns a sequence of materials currently stored in the material table .
Standard_EXPORT TDF_Label | AddMaterial (const Handle(TCollection_HAsciiString)&aName, const Handle(TCollection_HAsciiString)&aDescription, const Standard_Real aDensity, const Handle(TCollection_HAsciiString)&aDensName, const Handle(TCollection_HAsciiString)&aDensValType) const
| Adds a Material definition to a table and returns its label .
Standard_EXPORT void | SetMaterial (const TDF_Label &L, const TDF_Label &MatL) const
| Sets a link with GUID .
Standard_EXPORT void | SetMaterial (const TDF_Label &L, const Handle(TCollection_HAsciiString)&aName, const Handle(TCollection_HAsciiString)&aDescription, const Standard_Real aDensity, const Handle(TCollection_HAsciiString)&aDensName, const Handle(TCollection_HAsciiString)&aDensValType) const
| Sets a link with GUID Adds a Material as necessary .
Standard_EXPORT Standard_Boolean | GetMaterial (const TDF_Label &MatL, Handle(TCollection_HAsciiString)&aName, Handle(TCollection_HAsciiString)&aDescription, Standard_Real &aDensity, Handle(TCollection_HAsciiString)&aDensName, Handle(TCollection_HAsciiString)&aDensValType) const
| Returns Material assigned to <matl> Returns False if no such Material is assigned .
Standard_EXPORT const Standard_GUID & | ID () const
Standard_EXPORT void | Restore (const Handle(TDF_Attribute)&with)
Standard_EXPORT Handle_TDF_Attribute | NewEmpty () const
Standard_EXPORT void | Paste (const Handle(TDF_Attribute)&into, const Handle(TDF_RelocationTable)&RT) const
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Static Public Member Functions

static Standard_EXPORT Handle_XCAFDoc_MaterialTool | Set (const TDF_Label &L)
| Creates (if not exist) MaterialTool. .
static Standard_EXPORT const Standard_GUID & | GetID ()
static Standard_EXPORT Standard_Real | GetDensityForShape (const TDF_Label &ShapeL)
| Find referred material and return density from it if no material --> return 0 .

## Private Attributes

Handle_XCAFDoc_ShapeTool | myShapeTool

## Constructor & Destructor Documentation

Standard_EXPORT XCAFDoc_MaterialTool::XCAFDoc_MaterialTool | ( |  | ) |

## Member Function Documentation

Standard_EXPORT TDF_Label XCAFDoc_MaterialTool::AddMaterial | ( | const Handle(TCollection_HAsciiString)& | aName,
|  | const Handle(TCollection_HAsciiString)& | aDescription,
|  | const Standard_Real | aDensity,
|  | const Handle(TCollection_HAsciiString)& | aDensName,
|  | const Handle(TCollection_HAsciiString)& | aDensValType
| ) | const

Standard_EXPORT TDF_Label XCAFDoc_MaterialTool::BaseLabel | ( |  | ) | const

static Standard_EXPORT Standard_Real XCAFDoc_MaterialTool::GetDensityForShape | ( | const TDF_Label & | ShapeL | ) | `[static]`

static Standard_EXPORT const Standard_GUID& XCAFDoc_MaterialTool::GetID | ( |  | ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_MaterialTool::GetMaterial | ( | const TDF_Label & | MatL,
|  | Handle(TCollection_HAsciiString)& | aName,
|  | Handle(TCollection_HAsciiString)& | aDescription,
|  | Standard_Real & | aDensity,
|  | Handle(TCollection_HAsciiString)& | aDensName,
|  | Handle(TCollection_HAsciiString)& | aDensValType
| ) | const

Standard_EXPORT void XCAFDoc_MaterialTool::GetMaterialLabels | ( | TDF_LabelSequence & | Labels | ) | const

Standard_EXPORT const XCAFDoc_MaterialTool::Handle | ( | Standard_Type |  | ) | const

Standard_EXPORT const Standard_GUID& XCAFDoc_MaterialTool::ID | ( |  | ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_MaterialTool::IsMaterial | ( | const TDF_Label & | lab | ) | const

Standard_EXPORT Handle_TDF_Attribute XCAFDoc_MaterialTool::NewEmpty | ( |  | ) | const

Standard_EXPORT void XCAFDoc_MaterialTool::Paste | ( | const Handle(TDF_Attribute)& | into,
|  | const Handle(TDF_RelocationTable)& | RT
| ) | const

Standard_EXPORT void XCAFDoc_MaterialTool::Restore | ( | const Handle(TDF_Attribute)& | with | ) |

static Standard_EXPORT Handle_XCAFDoc_MaterialTool XCAFDoc_MaterialTool::Set | ( | const TDF_Label & | L | ) | `[static]`

Standard_EXPORT void XCAFDoc_MaterialTool::SetMaterial | ( | const TDF_Label & | L,
|  | const Handle(TCollection_HAsciiString)& | aName,
|  | const Handle(TCollection_HAsciiString)& | aDescription,
|  | const Standard_Real | aDensity,
|  | const Handle(TCollection_HAsciiString)& | aDensName,
|  | const Handle(TCollection_HAsciiString)& | aDensValType
| ) | const

Standard_EXPORT void XCAFDoc_MaterialTool::SetMaterial | ( | const TDF_Label & | L,
|  | const TDF_Label & | MatL
| ) | const

Standard_EXPORT const Handle_XCAFDoc_ShapeTool& XCAFDoc_MaterialTool::ShapeTool | ( |  | ) |

## Field Documentation

Handle_XCAFDoc_ShapeTool XCAFDoc_MaterialTool::myShapeTool `[private]`

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

- XCAFDoc_MaterialTool.hxx