Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions
XCAFDoc_ColorTool Class Reference

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

#include <XCAFDoc_ColorTool.hxx>

Inheritance diagram for XCAFDoc_ColorTool:
Inheritance graph
[legend]

Public Member Functions

 XCAFDoc_ColorTool ()
 
TDF_Label BaseLabel () const
 returns the label under which colors are stored
More...
 
const Handle_XCAFDoc_ShapeTool & ShapeTool ()
 Returns internal XCAFDoc_ShapeTool tool
More...
 
Standard_Boolean IsColor (const TDF_Label &lab) const
 Returns True if label belongs to a colortable and
is a color definition
More...
 
Standard_Boolean GetColor (const TDF_Label &lab, Quantity_Color &col) const
 Returns color defined by label lab
Returns False if the label is not in colortable
or does not define a color
More...
 
Standard_Boolean FindColor (const Quantity_Color &col, TDF_Label &lab) const
 Finds a color definition in a colortable and returns
its label if found
Returns False if color is not found in colortable
More...
 
TDF_Label FindColor (const Quantity_Color &col) const
 Finds a color definition in a colortable and returns
its label if found (or Null label else)
More...
 
TDF_Label AddColor (const Quantity_Color &col) const
 Adds a color definition to a colortable and returns
its label (returns existing label if the same color
is already defined)
More...
 
void RemoveColor (const TDF_Label &lab) const
 Removes color from the colortable
More...
 
void GetColors (TDF_LabelSequence &Labels) const
 Returns a sequence of colors currently stored
in the colortable
More...
 
void SetColor (const TDF_Label &L, const TDF_Label &colorL, const XCAFDoc_ColorType type) const
 Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
defined by <colorL>. Color of shape is defined following way
in dependance with type of color.
If type of color is XCAFDoc_ColorGen - then this color
defines default color for surfaces and curves.
If for shape color with types XCAFDoc_ColorSurf or XCAFDoc_ColorCurv is specified
then such color overrides generic color.
More...
 
void SetColor (const TDF_Label &L, const Quantity_Color &Color, const XCAFDoc_ColorType type) const
 Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color <Color>
in the colortable
Adds a color as necessary
More...
 
void UnSetColor (const TDF_Label &L, const XCAFDoc_ColorType type) const
 Removes a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
More...
 
Standard_Boolean IsSet (const TDF_Label &L, const XCAFDoc_ColorType type) const
 Returns True if label <L> has a color assignment
of the type <type>
More...
 
Standard_Boolean GetColor (const TDF_Label &L, const XCAFDoc_ColorType type, Quantity_Color &color)
 Returns color assigned to <L> as <type>
Returns False if no such color is assigned
More...
 
Standard_Boolean SetColor (const TopoDS_Shape &S, const TDF_Label &colorL, const XCAFDoc_ColorType type)
 Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
defined by <colorL>
Returns False if cannot find a label for shape S
More...
 
Standard_Boolean SetColor (const TopoDS_Shape &S, const Quantity_Color &Color, const XCAFDoc_ColorType type)
 Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color <Color>
in the colortable
Adds a color as necessary
Returns False if cannot find a label for shape S
More...
 
Standard_Boolean UnSetColor (const TopoDS_Shape &S, const XCAFDoc_ColorType type)
 Removes a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
Returns True if such link existed
More...
 
Standard_Boolean IsSet (const TopoDS_Shape &S, const XCAFDoc_ColorType type)
 Returns True if label <L> has a color assignment
of the type <type>
More...
 
Standard_Boolean GetColor (const TopoDS_Shape &S, const XCAFDoc_ColorType type, TDF_Label &colorL)
 Returns label with color assigned to <L> as <type>
Returns False if no such color is assigned
More...
 
Standard_Boolean GetColor (const TopoDS_Shape &S, const XCAFDoc_ColorType type, Quantity_Color &color)
 Returns color assigned to <L> as <type>
Returns False if no such color is assigned
More...
 
Standard_Boolean IsVisible (const TDF_Label &L) const
 Return TRUE if object on this label is visible, FALSE if invisible.
More...
 
void SetVisibility (const TDF_Label &shapeLabel, const Standard_Boolean isvisible=Standard_True)
 Set the visibility of object on label. Do nothing if there no any object.
Set UAttribute with corresponding GUID.
More...
 
Standard_Boolean SetInstanceColor (const TopoDS_Shape &theShape, const XCAFDoc_ColorType type, const Quantity_Color &color, const Standard_Boolean isCreateSHUO=Standard_True)
 Sets the color of component that styled with SHUO structure
Returns FALSE if no sush component found
NOTE: create SHUO structeure if it is necessary and if <isCreateSHUO>
More...
 
Standard_Boolean GetInstanceColor (const TopoDS_Shape &theShape, const XCAFDoc_ColorType type, Quantity_Color &color)
 Gets the color of component that styled with SHUO structure
Returns FALSE if no sush component or color type
More...
 
Standard_Boolean IsInstanceVisible (const TopoDS_Shape &theShape)
 Gets the visibility status of component that styled with SHUO structure
Returns FALSE if no sush component
More...
 
Standard_Boolean ReverseChainsOfTreeNodes ()
 Reverses order in chains of TreeNodes (from Last to First) under
each Color Label since we became to use function ::Prepend()
instead of Append() in method SetColor() for acceleration
More...
 
const Standard_GUIDID () const
 
 Returns the ID of the attribute. <br>


More...

 
void Restore (const Handle< TDF_Attribute > &with)
 Restores the backuped contents from <anAttribute>
into this one. It is used when aborting a
transaction.
More...
 
Handle_TDF_Attribute NewEmpty () const
 Returns an new empty attribute from the good end
type. It is used by the copy algorithm.
More...
 
void Paste (const Handle< TDF_Attribute > &into, const Handle< TDF_RelocationTable > &RT) const
 
 This method is different from the "Copy" one, <br>
     because it is used when copying an attribute from <br>
     a source structure into a target structure. This <br>
     method may paste the contents of <me> into <br>
     <intoAttribute>. <br>


The given pasted attribute can be full or empty of
its contents. But don't make a NEW! Just set the
contents!

It is possible to use <aRelocationTable> to
get/set the relocation value of a source
attribute.
More...

 
- Public Member Functions inherited from TDF_Attribute
const TDF_Label Label () const
 
Returns   the   label to which  the   attribute is <br>
    attached. If the  label is not  included in a  DF, <br>
    the label is null. See Label. <br>

Warning
If the label is not included in a data
framework, it is null.
This function should not be redefined inline.
More...

 
Standard_Integer Transaction () const
 
 Returns the transaction index in which the <br>
     attribute has been created or modified. <br>


More...

 
Standard_Integer 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.
More...
 
Standard_Boolean IsValid () const
 
 Returns true if the attribute is valid; i.e. not a <br>
     backuped or removed one. <br>


More...

 
Standard_Boolean IsNew () const
 
 Returns true if the attribute has no backup <br>


More...

 
Standard_Boolean IsForgotten () const
 
 Returns true if the attribute forgotten status is <br>
     set. <br>


//! ShortCut Methods concerning associated attributes
=================================================
More...

 
Standard_Boolean IsAttribute (const Standard_GUID &anID) const
 Returns true if it exists an associated attribute
of <me> with <anID> as ID.
More...
 
Standard_Boolean FindAttribute (const Standard_GUID &anID, Handle< TDF_Attribute > &anAttribute) const
 
 Finds an associated  attribute of  <me>, according <br>
     to <anID>.  the returned <anAttribute> is a  valid <br>
     one. The  method  returns  True if   found,  False <br>
     otherwise.   A removed attribute  cannot be found using <br>

this method.
More...

 
void AddAttribute (const Handle< TDF_Attribute > &other) const
 Adds an Attribute <other> to the label of
<me>.Raises if there is already one of the same
GUID fhan <other>.
More...
 
Standard_Boolean ForgetAttribute (const Standard_GUID &aguid) const
 Forgets the Attribute of GUID <aguid> associated
to the label of <me>. Be carefull 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.
More...
 
void ForgetAllAttributes (const Standard_Boolean clearChildren=Standard_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
mecanisms. Be carefull that if <me> will have a
null label after this call
More...
 
virtual void AfterAddition ()
 Something to do after adding an Attribute to a label.
More...
 
virtual void BeforeRemoval ()
 Something to do before removing an Attribute from
a label.
More...
 
virtual void BeforeForget ()
 Something to do before forgetting an Attribute to a
label.
More...
 
virtual void AfterResume ()
 Something to do after resuming an Attribute from
a label.
More...
 
virtual Standard_Boolean AfterRetrieval (const Standard_Boolean forceIt=Standard_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.
More...
 
virtual Standard_Boolean BeforeUndo (const Handle< TDF_AttributeDelta > &anAttDelta, const Standard_Boolean forceIt=Standard_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.
More...
 
virtual Standard_Boolean AfterUndo (const Handle< TDF_AttributeDelta > &anAttDelta, const Standard_Boolean forceIt=Standard_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.
More...
 
virtual void BeforeCommitTransaction ()
 A callback.
By default does nothing.
It is called by TDF_Data::CommitTransaction() method.
More...
 
void Backup ()
 
 Backups the attribute. The backuped attribute is <br>
     flagged "Backuped" and not "Valid". <br>


The method does nothing:

1) If the attribute transaction number is equal to
the current transaction number (the attribute has
already been backuped).

2) If the attribute is not attached to a label.
More...

 
Standard_Boolean IsBackuped () const
 
 Returns true if the attribute backup status is <br>
     set. This status is set/unset by the <br>
     Backup() method. <br>


More...

 
virtual Handle_TDF_Attribute BackupCopy () const
 Copies the attribute contents into a new other
attribute. It is used by Backup().
More...
 
virtual 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).
More...
 
virtual Handle_TDF_DeltaOnForget DeltaOnForget () const
 Makes an AttributeDelta because <me> has been
forgotten.
More...
 
virtual Handle_TDF_DeltaOnResume DeltaOnResume () const
 Makes an AttributeDelta because <me> has been
resumed.
More...
 
virtual
Handle_TDF_DeltaOnModification 
DeltaOnModification (const Handle< TDF_Attribute > &anOldAttribute) const
 Makes a DeltaOnModification between <me> and
<anOldAttribute.
More...
 
virtual void DeltaOnModification (const Handle< TDF_DeltaOnModification > &aDelta)
 Applies a DeltaOnModification to <me>.
More...
 
virtual Handle_TDF_DeltaOnRemoval DeltaOnRemoval () const
 Makes a DeltaOnRemoval on <me> because <me> has
disappeared from the DS.
More...
 
virtual void References (const Handle< TDF_DataSet > &aDataSet) const
 
 Adds the first level referenced attributes and labels <br>
     to <aDataSet>. <br>


For this, use the AddLabel or AddAttribute of
DataSet.

If there is none, do not implement the method.
More...

 
virtual Standard_OStreamDump (Standard_OStream &anOS) const
 
 Dumps the minimum information about <me> on <br>
     <aStream>. <br>


More...

 
Standard_OStreamoperator<< (Standard_OStream &anOS) const
 
virtual void ExtendedDump (Standard_OStream &anOS, const TDF_IDFilter &aFilter, TDF_AttributeIndexedMap &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.
More...
 
void Forget (const Standard_Integer aTransaction)
 
 Forgets the attribute. <aTransaction> is the <br>
     current transaction in which the forget is done. A <br>
     forgotten attribute is also flagged not "Valid". <br>


A forgotten attribute is invisible. Set also the
"Valid" status to False. Obvioulsy, DF cannot
empty an attribute (this has a semantic
signification), but can remove it from the
structure. So, a forgotten attribute is NOT an empty
one, but a soon DEAD one.

Should be private.
More...

 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const 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. More...
 
Standard_Boolean IsKind (const Standard_CString 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. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Static Public Member Functions

static Handle_XCAFDoc_ColorTool Set (const TDF_Label &L)
 Creates (if not exist) ColorTool.
More...
 
static const Standard_GUIDGetID ()
 
static Standard_Boolean GetColor (const TDF_Label &L, const XCAFDoc_ColorType type, TDF_Label &colorL)
 Returns label with color assigned to <L> as <type>
Returns False if no such color is assigned
More...
 

Additional Inherited Members

- Protected Member Functions inherited from TDF_Attribute
 TDF_Attribute ()
 Initializes fields.
More...
 

Detailed Description

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

Constructor & Destructor Documentation

XCAFDoc_ColorTool::XCAFDoc_ColorTool ( )

Member Function Documentation

TDF_Label XCAFDoc_ColorTool::AddColor ( const Quantity_Color col) const

Adds a color definition to a colortable and returns
its label (returns existing label if the same color
is already defined)

TDF_Label XCAFDoc_ColorTool::BaseLabel ( ) const

returns the label under which colors are stored

Standard_Boolean XCAFDoc_ColorTool::FindColor ( const Quantity_Color col,
TDF_Label lab 
) const

Finds a color definition in a colortable and returns
its label if found
Returns False if color is not found in colortable

TDF_Label XCAFDoc_ColorTool::FindColor ( const Quantity_Color col) const

Finds a color definition in a colortable and returns
its label if found (or Null label else)

Standard_Boolean XCAFDoc_ColorTool::GetColor ( const TDF_Label lab,
Quantity_Color col 
) const

Returns color defined by label lab
Returns False if the label is not in colortable
or does not define a color

static Standard_Boolean XCAFDoc_ColorTool::GetColor ( const TDF_Label L,
const XCAFDoc_ColorType  type,
TDF_Label colorL 
)
static

Returns label with color assigned to <L> as <type>
Returns False if no such color is assigned

Standard_Boolean XCAFDoc_ColorTool::GetColor ( const TDF_Label L,
const XCAFDoc_ColorType  type,
Quantity_Color color 
)

Returns color assigned to <L> as <type>
Returns False if no such color is assigned

Standard_Boolean XCAFDoc_ColorTool::GetColor ( const TopoDS_Shape S,
const XCAFDoc_ColorType  type,
TDF_Label colorL 
)

Returns label with color assigned to <L> as <type>
Returns False if no such color is assigned

Standard_Boolean XCAFDoc_ColorTool::GetColor ( const TopoDS_Shape S,
const XCAFDoc_ColorType  type,
Quantity_Color color 
)

Returns color assigned to <L> as <type>
Returns False if no such color is assigned

void XCAFDoc_ColorTool::GetColors ( TDF_LabelSequence Labels) const

Returns a sequence of colors currently stored
in the colortable

static const Standard_GUID& XCAFDoc_ColorTool::GetID ( )
static
Standard_Boolean XCAFDoc_ColorTool::GetInstanceColor ( const TopoDS_Shape theShape,
const XCAFDoc_ColorType  type,
Quantity_Color color 
)

Gets the color of component that styled with SHUO structure
Returns FALSE if no sush component or color type

const Standard_GUID& XCAFDoc_ColorTool::ID ( ) const
virtual

 Returns the ID of the attribute. <br>


Implements TDF_Attribute.

Standard_Boolean XCAFDoc_ColorTool::IsColor ( const TDF_Label lab) const

Returns True if label belongs to a colortable and
is a color definition

Standard_Boolean XCAFDoc_ColorTool::IsInstanceVisible ( const TopoDS_Shape theShape)

Gets the visibility status of component that styled with SHUO structure
Returns FALSE if no sush component

Standard_Boolean XCAFDoc_ColorTool::IsSet ( const TDF_Label L,
const XCAFDoc_ColorType  type 
) const

Returns True if label <L> has a color assignment
of the type <type>

Standard_Boolean XCAFDoc_ColorTool::IsSet ( const TopoDS_Shape S,
const XCAFDoc_ColorType  type 
)

Returns True if label <L> has a color assignment
of the type <type>

Standard_Boolean XCAFDoc_ColorTool::IsVisible ( const TDF_Label L) const

Return TRUE if object on this label is visible, FALSE if invisible.

Handle_TDF_Attribute XCAFDoc_ColorTool::NewEmpty ( ) const
virtual

Returns an new empty attribute from the good end
type. It is used by the copy algorithm.

Implements TDF_Attribute.

void XCAFDoc_ColorTool::Paste ( const Handle< TDF_Attribute > &  intoAttribute,
const Handle< TDF_RelocationTable > &  aRelocationTable 
) const
virtual

 This method is different from the "Copy" one, <br>
     because it is used when copying an attribute from <br>
     a source structure into a target structure. This <br>
     method may paste the contents of <me> into <br>
     <intoAttribute>. <br>


The given pasted attribute can be full or empty of
its contents. But don't make a NEW! Just set the
contents!

It is possible to use <aRelocationTable> to
get/set the relocation value of a source
attribute.

Implements TDF_Attribute.

void XCAFDoc_ColorTool::RemoveColor ( const TDF_Label lab) const

Removes color from the colortable

void XCAFDoc_ColorTool::Restore ( const Handle< TDF_Attribute > &  anAttribute)
virtual

Restores the backuped contents from <anAttribute>
into this one. It is used when aborting a
transaction.

Implements TDF_Attribute.

Standard_Boolean XCAFDoc_ColorTool::ReverseChainsOfTreeNodes ( )

Reverses order in chains of TreeNodes (from Last to First) under
each Color Label since we became to use function ::Prepend()
instead of Append() in method SetColor() for acceleration

static Handle_XCAFDoc_ColorTool XCAFDoc_ColorTool::Set ( const TDF_Label L)
static

Creates (if not exist) ColorTool.

void XCAFDoc_ColorTool::SetColor ( const TDF_Label L,
const TDF_Label colorL,
const XCAFDoc_ColorType  type 
) const

Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
defined by <colorL>. Color of shape is defined following way
in dependance with type of color.
If type of color is XCAFDoc_ColorGen - then this color
defines default color for surfaces and curves.
If for shape color with types XCAFDoc_ColorSurf or XCAFDoc_ColorCurv is specified
then such color overrides generic color.

void XCAFDoc_ColorTool::SetColor ( const TDF_Label L,
const Quantity_Color Color,
const XCAFDoc_ColorType  type 
) const

Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color <Color>
in the colortable
Adds a color as necessary

Standard_Boolean XCAFDoc_ColorTool::SetColor ( const TopoDS_Shape S,
const TDF_Label colorL,
const XCAFDoc_ColorType  type 
)

Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
defined by <colorL>
Returns False if cannot find a label for shape S

Standard_Boolean XCAFDoc_ColorTool::SetColor ( const TopoDS_Shape S,
const Quantity_Color Color,
const XCAFDoc_ColorType  type 
)

Sets a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color <Color>
in the colortable
Adds a color as necessary
Returns False if cannot find a label for shape S

Standard_Boolean XCAFDoc_ColorTool::SetInstanceColor ( const TopoDS_Shape theShape,
const XCAFDoc_ColorType  type,
const Quantity_Color color,
const Standard_Boolean  isCreateSHUO = Standard_True 
)

Sets the color of component that styled with SHUO structure
Returns FALSE if no sush component found
NOTE: create SHUO structeure if it is necessary and if <isCreateSHUO>

void XCAFDoc_ColorTool::SetVisibility ( const TDF_Label shapeLabel,
const Standard_Boolean  isvisible = Standard_True 
)

Set the visibility of object on label. Do nothing if there no any object.
Set UAttribute with corresponding GUID.

const Handle_XCAFDoc_ShapeTool& XCAFDoc_ColorTool::ShapeTool ( )

Returns internal XCAFDoc_ShapeTool tool

void XCAFDoc_ColorTool::UnSetColor ( const TDF_Label L,
const XCAFDoc_ColorType  type 
) const

Removes a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color

Standard_Boolean XCAFDoc_ColorTool::UnSetColor ( const TopoDS_Shape S,
const XCAFDoc_ColorType  type 
)

Removes a link with GUID defined by <type> (see
XCAFDoc::ColorRefGUID()) from label <L> to color
Returns True if such link existed


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