# DataExchange
TKXCAF
XCAFDoc

# XCAFDoc_ShapeTool Class Reference

A tool to store shapes in an XDE
document in the form of assembly structure, and to maintain this structure.
The API provided by this class allows to work with this
structure regardless of its low-level implementation.
All the shapes are stored on child labels of a main label which is
XCAFDoc_DocumentTool::LabelShapes(). The label for assembly also has
sub-labels, each of which represents the instance of
another shape in that assembly (component). Such sub-label
stores reference to the label of the original shape in the form
of TDataStd_TreeNode with GUID XCAFDoc::ShapeRefGUID(), and its
location encapsulated into the NamedShape.
For correct work with an XDE document, it is necessary to use
methods for analysis and methods for working with shapes.
For example:
if ( STool->IsAssembly(aLabel) )
{ Standard_Boolean subchilds = Standard_False; (default)
Standard_Integer nbc = STool->NbComponents
(aLabel[,subchilds]);
}
If subchilds is True, commands also consider sub-levels. By
default, only level one is checked.
In this example, number of children from the first level of
assembly will be returned. Methods for creation and initialization:
Constructor:
XCAFDoc_ShapeTool::XCAFDoc_ShapeTool()
Getting a guid:
Standard_GUID GetID ();
Creation (if does not exist) of ShapeTool on label L:
Handle(XCAFDoc_ShapeTool) XCAFDoc_ShapeTool::Set(const TDF_Label& L)
Analyze whether shape is a simple shape or an instance or a
component of an assembly or it is an assembly ( methods of analysis).
For example:
STool->IsShape(aLabel) ;
Analyze that the label represents a shape (simple
shape, assembly or reference) or
STool->IsTopLevel(aLabel);
Analyze that the label is a label of a top-level shape.
Work with simple shapes, assemblies and instances (
methods for work with shapes).
For example:
Add shape:
Standard_Boolean makeAssembly;
// True to interpret a Compound as an Assembly, False to take it
as a whole
aLabel = STool->AddShape(aShape, makeAssembly);
Get shape:
TDF_Label aLabel...
// A label must be present if
(aLabel.IsNull()) { ... no such label : abandon .. }
TopoDS_Shape aShape;
aShape = STool->GetShape(aLabel);
if (aShape.IsNull())
{ ... this label is not for a Shape ... }
To get a label from shape.
Standard_Boolean findInstance = Standard_False;
(this is default value)
aLabel = STool->FindShape(aShape [,findInstance]);
if (aLabel.IsNull())
{ ... no label found for this shape ... }
.

`#include <XCAFDoc_ShapeTool.hxx>`

## Public Member Functions

Standard_EXPORT | XCAFDoc_ShapeTool ()
| Creates an empty tool //! Creates a tool to work with a document <doc> Attaches to label XCAFDoc::LabelShapes() .
Standard_EXPORT Standard_Boolean | IsTopLevel (const TDF_Label &L) const
| Returns True if the label is a label of top-level shape, as opposed to component of assembly or subshape .
Standard_EXPORT Standard_Boolean | IsSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub) const
| Checks whether shape is subshape of shape stored on label shapeL .
Standard_EXPORT Standard_Boolean | SearchUsingMap (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findWithoutLoc, const Standard_Boolean findSubshape) const
Standard_EXPORT Standard_Boolean | Search (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findInstance=Standard_True, const Standard_Boolean findComponent=Standard_True, const Standard_Boolean findSubshape=Standard_True) const

General tool to find a (sub) shape in the document
* If findInstance is True, and S has a non-null location,
first tries to find the shape among the top-level shapes
with this location
* If not found, and findComponent is True, tries to find the shape
among the components of assemblies
* If not found, tries to find the shape without location
among top-level shapes
* If not found and findSubshape is True, tries to find a
shape as a subshape of top-level simple shapes
Returns False if nothing is found
.

Standard_EXPORT Standard_Boolean | FindShape (const TopoDS_Shape &S, TDF_Label &L, const Standard_Boolean findInstance=Standard_False) const
| Returns the label corresponding to shape S (searches among top-level shapes, not including subcomponents of assemblies) If findInstance is False (default), searches for the non-located shape (i.e. among original shapes) If findInstance is True, searches for the shape with the same location, including shape instances Return True if <s> is found. .
Standard_EXPORT TDF_Label | FindShape (const TopoDS_Shape &S, const Standard_Boolean findInstance=Standard_False) const
| Does the same as previous method Returns Null label if not found .
Standard_EXPORT TDF_Label | NewShape () const
| Creates new (empty) top-level shape. Initially it holds empty TopoDS_Compound .
Standard_EXPORT void | SetShape (const TDF_Label &L, const TopoDS_Shape &S)
| Sets representation (TopoDS_Shape) for top-level shape .
Standard_EXPORT TDF_Label | AddShape (const TopoDS_Shape &S, const Standard_Boolean makeAssembly=Standard_True, const Standard_Boolean makePrepare=Standard_True)
| Adds a new top-level (creates and returns a new label) If makeAssembly is True, treats TopAbs_COMPOUND shapes as assemblies (creates assembly structure). NOTE: <makeprepare> replace components without location in assmebly by located components to avoid some problems. .
Standard_EXPORT Standard_Boolean | RemoveShape (const TDF_Label &L) const
| Removes shape (whole label and all its sublabels) Returns False (and does nothing) if shape is not free or is not top-level shape .
Standard_EXPORT void | Init ()
| set hasComponents into false
Standard_EXPORT void | ComputeShapes (const TDF_Label &L)
| recursive
Standard_EXPORT void | ComputeSimpleShapes ()
| Compute a sequence of simple shapes .
Standard_EXPORT void | GetShapes (TDF_LabelSequence &Labels) const
| Returns a sequence of all top-level shapes .
Standard_EXPORT void | GetFreeShapes (TDF_LabelSequence &FreeLabels) const
| Returns a sequence of all top-level shapes which are free (i.e. not referred by any other) .
Standard_EXPORT TDF_Label | AddComponent (const TDF_Label &assembly, const TDF_Label &comp, const TopLoc_Location &Loc) const
| Adds a component given by its label and location to the assembly Note: assembly must be IsAssembly() or IsSimpleShape() .
Standard_EXPORT TDF_Label | AddComponent (const TDF_Label &assembly, const TopoDS_Shape &comp, const Standard_Boolean expand=Standard_False)
| Adds a shape (located) as a component to the assembly If necessary, creates an additional top-level shape for component and return the Label of component. If expand is True and component is Compound, it will be created as assembly also Note: assembly must be IsAssembly() or IsSimpleShape() .
Standard_EXPORT void | RemoveComponent (const TDF_Label &comp) const
| Removes a component from its assembly .
Standard_EXPORT void | UpdateAssembly (const TDF_Label &L) const
| Update an assembly at label <l> .
Standard_EXPORT Standard_Boolean | FindSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub, TDF_Label &L) const
| Finds a label for subshape of shape stored on label shapeL Returns Null label if it is not found .
Standard_EXPORT TDF_Label | AddSubShape (const TDF_Label &shapeL, const TopoDS_Shape &sub) const
| Adds a label for subshape of shape stored on label shapeL Returns Null label if it is not subshape .
Standard_EXPORT TDF_Label | FindMainShapeUsingMap (const TopoDS_Shape &sub) const
Standard_EXPORT TDF_Label | FindMainShape (const TopoDS_Shape &sub) const
| Performs a search among top-level shapes to find the shape containing as subshape Checks only simple shapes, and returns the first found label (which should be the only one for valid model) .
Standard_EXPORT TDF_Label | BaseLabel () const
| returns the label under which shapes are stored
Standard_EXPORT void | Dump (const Standard_Boolean deep=Standard_False) const
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 TDF_Label | SetExternRefs (const TColStd_SequenceOfHAsciiString &SHAS) const
| Sets the names of references on the no-step files .
Standard_EXPORT void | SetExternRefs (const TDF_Label &L, const TColStd_SequenceOfHAsciiString &SHAS) const
| Sets the names of references on the no-step files .
Standard_EXPORT Standard_Boolean | SetSHUO (const TDF_LabelSequence &Labels, Handle(XCAFDoc_GraphNode)&MainSHUOAttr) const
| Sets the SHUO structure between upper_usage and next_usage create multy-level (if number of labels > 2) SHUO from first to last Initialise out <mainshuoattr> by main upper_usage SHUO attribute. Returns FALSE if some of labels in not component label .
Standard_EXPORT Standard_Boolean | RemoveSHUO (const TDF_Label &SHUOLabel) const
| Remove SHUO from component sublabel, remove all dependencies on other SHUO. Returns FALSE if cannot remove SHUO dependencies. NOTE: remove any styles that associated with this SHUO. .
Standard_EXPORT Standard_Boolean | FindComponent (const TopoDS_Shape &theShape, TDF_LabelSequence &Labels) const
| Serach the path of labels in the document, that corresponds the component from any assembly Try to search the sequence of labels with location that produce this shape as component of any assembly NOTE: Clear sequence of labels before filling .
Standard_EXPORT TopoDS_Shape | GetSHUOInstance (const Handle(XCAFDoc_GraphNode)&theSHUO) const
| Search for the component shape that styled by shuo Returns null shape if no any shape is found. .
Standard_EXPORT Handle_XCAFDoc_GraphNode | SetInstanceSHUO (const TopoDS_Shape &theShape) const
| Search for the component shape by labelks path and set SHUO structure for founded label structure Returns null attribute if no component in any assembly found. .
Standard_EXPORT Standard_Boolean | GetAllSHUOInstances (const Handle(XCAFDoc_GraphNode)&theSHUO, TopTools_SequenceOfShape &theSHUOShapeSeq) const
| Seaching for component shapes that styled by shuo Returns empty sequence of shape if no any shape is found. .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Static Public Member Functions

static Standard_EXPORT const Standard_GUID & | GetID ()
static Standard_EXPORT Handle_XCAFDoc_ShapeTool | Set (const TDF_Label &L)
| Create (if not exist) ShapeTool from XCAFDoc on <l>. .
static Standard_EXPORT Standard_Boolean | IsFree (const TDF_Label &L)
| Returns True if the label is not used by any assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True (There is no Father TreeNode on this <l>) .
static Standard_EXPORT Standard_Boolean | IsShape (const TDF_Label &L)
| Returns True if the label represents a shape (simple shape, assembly or reference) .
static Standard_EXPORT Standard_Boolean | IsSimpleShape (const TDF_Label &L)
| Returns True if the label is a label of simple shape .
static Standard_EXPORT Standard_Boolean | IsReference (const TDF_Label &L)
| Return true if <l> is a located instance of other shape i.e. reference .
static Standard_EXPORT Standard_Boolean | IsAssembly (const TDF_Label &L)
| Returns True if the label is a label of assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True .
static Standard_EXPORT Standard_Boolean | IsComponent (const TDF_Label &L)
| Return true if <l> is reference serving as component of assembly .
static Standard_EXPORT Standard_Boolean | IsCompound (const TDF_Label &L)
| Returns True if the label is a label of compound, i.e. contains some sublabels This is relevant only if IsShape() is True .
static Standard_EXPORT Standard_Boolean | IsSubShape (const TDF_Label &L)
| Return true if <l> is subshape of the top-level shape .
static Standard_EXPORT Standard_Boolean | GetShape (const TDF_Label &L, TopoDS_Shape &S)
| To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns False if label does not contain shape .
static Standard_EXPORT TopoDS_Shape | GetShape (const TDF_Label &L)
| To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns Null shape if label does not contain shape .
static Standard_EXPORT Standard_Integer | GetUsers (const TDF_Label &L, TDF_LabelSequence &Labels, const Standard_Boolean getsubchilds=Standard_False)
| Returns list of labels which refer shape L as component Returns number of users (0 if shape is free) .
static Standard_EXPORT TopLoc_Location | GetLocation (const TDF_Label &L)
| Returns location of instance .
static Standard_EXPORT Standard_Boolean | GetReferredShape (const TDF_Label &L, TDF_Label &Label)
| Returns label which corresponds to a shape referred by L Returns False if label is not reference .
static Standard_EXPORT Standard_Integer | NbComponents (const TDF_Label &L, const Standard_Boolean getsubchilds=Standard_False)
| Returns number of Assembles components .
static Standard_EXPORT Standard_Boolean | GetComponents (const TDF_Label &L, TDF_LabelSequence &Labels, const Standard_Boolean getsubchilds=Standard_False)
| Returns list of components of assembly Returns False if label is not assembly .
static Standard_EXPORT Standard_Boolean | GetSubShapes (const TDF_Label &L, TDF_LabelSequence &Labels)
| Returns list of labels identifying subshapes of the given shape Returns False if no subshapes are placed on that label .
static Standard_EXPORT void | DumpShape (const TDF_Label &L, const Standard_Integer level=0, const Standard_Boolean deep=Standard_False)
| Print in cout type of shape found on <l> label and the entry of <l>, with <level> tabs before. If <deep>, print also TShape and Location addresses .
static Standard_EXPORT Standard_Boolean | IsExternRef (const TDF_Label &L)
| Returns True if the label is a label of external references, i.e. there are some reference on the no-step files, which are described in document only their names .
static Standard_EXPORT void | GetExternRefs (const TDF_Label &L, TColStd_SequenceOfHAsciiString &SHAS)
| Gets the names of references on the no-step files .
static Standard_EXPORT Standard_Boolean | GetSHUO (const TDF_Label &SHUOLabel, Handle(XCAFDoc_GraphNode)&aSHUOAttr)
| Returns founded SHUO GraphNode attribute <ashuoattr> Returns false in other case .
static Standard_EXPORT Standard_Boolean | GetAllComponentSHUO (const TDF_Label &CompLabel, TDF_AttributeSequence &SHUOAttrs)
| Returns founded SHUO GraphNodes of indicated component Returns false in other case .
static Standard_EXPORT Standard_Boolean | GetSHUOUpperUsage (const TDF_Label &NextUsageL, TDF_LabelSequence &Labels)
| Returns the sequence of labels of SHUO attributes, which is upper_usage for this next_usage SHUO attribute (that indicated by label) NOTE: returns upper_usages only on one level (not recurse) NOTE: do not clear the sequence before filling .
static Standard_EXPORT Standard_Boolean | GetSHUONextUsage (const TDF_Label &UpperUsageL, TDF_LabelSequence &Labels)
| Returns the sequence of labels of SHUO attributes, which is next_usage for this upper_usage SHUO attribute (that indicated by label) NOTE: returns next_usages only on one level (not recurse) NOTE: do not clear the sequence before filling .
static Standard_EXPORT Standard_Boolean | FindSHUO (const TDF_LabelSequence &Labels, Handle(XCAFDoc_GraphNode)&theSHUOAttr)
| Searchs the SHUO by labels of components from upper_usage componet to next_usage Returns null attribute if no SHUO found .

## Private Member Functions

Standard_EXPORT TDF_Label | addShape (const TopoDS_Shape &S, const Standard_Boolean makeAssembly=Standard_True)
| Adds a new top-level (creates and returns a new label) For internal use. Used by public method AddShape. .

## Static Private Member Functions

static Standard_EXPORT void | MakeReference (const TDF_Label &L, const TDF_Label &refL, const TopLoc_Location &loc)
| Makes a shape on label L to be a reference to shape refL with location loc .

## Private Attributes

XCAFDoc_DataMapOfShapeLabel | myShapeLabels
XCAFDoc_DataMapOfShapeLabel | mySubShapes
XCAFDoc_DataMapOfShapeLabel | mySimpleShapes
Standard_Boolean | hasSimpleShapes

## Constructor & Destructor Documentation

Standard_EXPORT XCAFDoc_ShapeTool::XCAFDoc_ShapeTool | ( |  | ) |

## Member Function Documentation

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::AddComponent | ( | const TDF_Label & | assembly,
|  | const TopoDS_Shape & | comp,
|  | const Standard_Boolean | expand = `Standard_False`
| ) |

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::AddComponent | ( | const TDF_Label & | assembly,
|  | const TDF_Label & | comp,
|  | const TopLoc_Location & | Loc
| ) | const

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::addShape | ( | const TopoDS_Shape & | S,
|  | const Standard_Boolean | makeAssembly = `Standard_True`
| ) | `[private]`

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::AddShape | ( | const TopoDS_Shape & | S,
|  | const Standard_Boolean | makeAssembly = `Standard_True`,
|  | const Standard_Boolean | makePrepare = `Standard_True`
| ) |

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::AddSubShape | ( | const TDF_Label & | shapeL,
|  | const TopoDS_Shape & | sub
| ) | const

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

Standard_EXPORT void XCAFDoc_ShapeTool::ComputeShapes | ( | const TDF_Label & | L | ) |

Standard_EXPORT void XCAFDoc_ShapeTool::ComputeSimpleShapes | ( |  | ) |

Standard_EXPORT void XCAFDoc_ShapeTool::Dump | ( | const Standard_Boolean | deep = `Standard_False` | ) | const

static Standard_EXPORT void XCAFDoc_ShapeTool::DumpShape | ( | const TDF_Label & | L,
|  | const Standard_Integer | level = `0`,
|  | const Standard_Boolean | deep = `Standard_False`
| ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::FindComponent | ( | const TopoDS_Shape & | theShape,
|  | TDF_LabelSequence & | Labels
| ) | const

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::FindMainShape | ( | const TopoDS_Shape & | sub | ) | const

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::FindMainShapeUsingMap | ( | const TopoDS_Shape & | sub | ) | const

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::FindShape | ( | const TopoDS_Shape & | S,
|  | const Standard_Boolean | findInstance = `Standard_False`
| ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::FindShape | ( | const TopoDS_Shape & | S,
|  | TDF_Label & | L,
|  | const Standard_Boolean | findInstance = `Standard_False`
| ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::FindSHUO | ( | const TDF_LabelSequence & | Labels,
|  | Handle(XCAFDoc_GraphNode)& | theSHUOAttr
| ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::FindSubShape | ( | const TDF_Label & | shapeL,
|  | const TopoDS_Shape & | sub,
|  | TDF_Label & | L
| ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetAllComponentSHUO | ( | const TDF_Label & | CompLabel,
|  | TDF_AttributeSequence & | SHUOAttrs
| ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetAllSHUOInstances | ( | const Handle(XCAFDoc_GraphNode)& | theSHUO,
|  | TopTools_SequenceOfShape & | theSHUOShapeSeq
| ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetComponents | ( | const TDF_Label & | L,
|  | TDF_LabelSequence & | Labels,
|  | const Standard_Boolean | getsubchilds = `Standard_False`
| ) | `[static]`

static Standard_EXPORT void XCAFDoc_ShapeTool::GetExternRefs | ( | const TDF_Label & | L,
|  | TColStd_SequenceOfHAsciiString & | SHAS
| ) | `[static]`

Standard_EXPORT void XCAFDoc_ShapeTool::GetFreeShapes | ( | TDF_LabelSequence & | FreeLabels | ) | const

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

static Standard_EXPORT TopLoc_Location XCAFDoc_ShapeTool::GetLocation | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetReferredShape | ( | const TDF_Label & | L,
|  | TDF_Label & | Label
| ) | `[static]`

static Standard_EXPORT TopoDS_Shape XCAFDoc_ShapeTool::GetShape | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetShape | ( | const TDF_Label & | L,
|  | TopoDS_Shape & | S
| ) | `[static]`

Standard_EXPORT void XCAFDoc_ShapeTool::GetShapes | ( | TDF_LabelSequence & | Labels | ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetSHUO | ( | const TDF_Label & | SHUOLabel,
|  | Handle(XCAFDoc_GraphNode)& | aSHUOAttr
| ) | `[static]`

Standard_EXPORT TopoDS_Shape XCAFDoc_ShapeTool::GetSHUOInstance | ( | const Handle(XCAFDoc_GraphNode)& | theSHUO | ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetSHUONextUsage | ( | const TDF_Label & | UpperUsageL,
|  | TDF_LabelSequence & | Labels
| ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetSHUOUpperUsage | ( | const TDF_Label & | NextUsageL,
|  | TDF_LabelSequence & | Labels
| ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::GetSubShapes | ( | const TDF_Label & | L,
|  | TDF_LabelSequence & | Labels
| ) | `[static]`

static Standard_EXPORT Standard_Integer XCAFDoc_ShapeTool::GetUsers | ( | const TDF_Label & | L,
|  | TDF_LabelSequence & | Labels,
|  | const Standard_Boolean | getsubchilds = `Standard_False`
| ) | `[static]`

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

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

Standard_EXPORT void XCAFDoc_ShapeTool::Init | ( |  | ) |

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsAssembly | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsComponent | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsCompound | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsExternRef | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsFree | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsReference | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsShape | ( | const TDF_Label & | L | ) | `[static]`

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsSimpleShape | ( | const TDF_Label & | L | ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsSubShape | ( | const TDF_Label & | shapeL,
|  | const TopoDS_Shape & | sub
| ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsSubShape | ( | const TDF_Label & | L | ) | `[static]`

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::IsTopLevel | ( | const TDF_Label & | L | ) | const

static Standard_EXPORT void XCAFDoc_ShapeTool::MakeReference | ( | const TDF_Label & | L,
|  | const TDF_Label & | refL,
|  | const TopLoc_Location & | loc
| ) | `[static, private]`

static Standard_EXPORT Standard_Integer XCAFDoc_ShapeTool::NbComponents | ( | const TDF_Label & | L,
|  | const Standard_Boolean | getsubchilds = `Standard_False`
| ) | `[static]`

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

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::NewShape | ( |  | ) | const

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

Standard_EXPORT void XCAFDoc_ShapeTool::RemoveComponent | ( | const TDF_Label & | comp | ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::RemoveShape | ( | const TDF_Label & | L | ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::RemoveSHUO | ( | const TDF_Label & | SHUOLabel | ) | const

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

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::Search | ( | const TopoDS_Shape & | S,
|  | TDF_Label & | L,
|  | const Standard_Boolean | findInstance = `Standard_True`,
|  | const Standard_Boolean | findComponent = `Standard_True`,
|  | const Standard_Boolean | findSubshape = `Standard_True`
| ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::SearchUsingMap | ( | const TopoDS_Shape & | S,
|  | TDF_Label & | L,
|  | const Standard_Boolean | findWithoutLoc,
|  | const Standard_Boolean | findSubshape
| ) | const

static Standard_EXPORT Handle_XCAFDoc_ShapeTool XCAFDoc_ShapeTool::Set | ( | const TDF_Label & | L | ) | `[static]`

Standard_EXPORT void XCAFDoc_ShapeTool::SetExternRefs | ( | const TDF_Label & | L,
|  | const TColStd_SequenceOfHAsciiString & | SHAS
| ) | const

Standard_EXPORT TDF_Label XCAFDoc_ShapeTool::SetExternRefs | ( | const TColStd_SequenceOfHAsciiString & | SHAS | ) | const

Standard_EXPORT Handle_XCAFDoc_GraphNode XCAFDoc_ShapeTool::SetInstanceSHUO | ( | const TopoDS_Shape & | theShape | ) | const

Standard_EXPORT void XCAFDoc_ShapeTool::SetShape | ( | const TDF_Label & | L,
|  | const TopoDS_Shape & | S
| ) |

Standard_EXPORT Standard_Boolean XCAFDoc_ShapeTool::SetSHUO | ( | const TDF_LabelSequence & | Labels,
|  | Handle(XCAFDoc_GraphNode)& | MainSHUOAttr
| ) | const

Standard_EXPORT void XCAFDoc_ShapeTool::UpdateAssembly | ( | const TDF_Label & | L | ) | const

## Field Documentation

Standard_Boolean XCAFDoc_ShapeTool::hasSimpleShapes `[private]`

XCAFDoc_DataMapOfShapeLabel XCAFDoc_ShapeTool::myShapeLabels `[private]`

XCAFDoc_DataMapOfShapeLabel XCAFDoc_ShapeTool::mySimpleShapes `[private]`

XCAFDoc_DataMapOfShapeLabel XCAFDoc_ShapeTool::mySubShapes `[private]`

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

- XCAFDoc_ShapeTool.hxx