# DataExchange
TKSTEP
STEPConstruct

# STEPConstruct_Styles Class Reference

Provides a mechanism for reading and writing shape styles
(such as color) to and from the STEP file
This tool maintains a list of styles, either taking them
from STEP model (reading), or filling it by calls to
AddStyle or directly (writing).
Some methods deal with general structures of styles and
presentations in STEP, but there are methods which deal
with particular implementation of colors (as described in RP)
.

`#include <STEPConstruct_Styles.hxx>`

Inheritance diagram for STEPConstruct_Styles:

[legend]

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | STEPConstruct_Styles ()
| Creates an empty tool .
Standard_EXPORT | STEPConstruct_Styles (const Handle(XSControl_WorkSession)&WS)
| Creates a tool and initializes it .
Standard_EXPORT Standard_Boolean | Init (const Handle(XSControl_WorkSession)&WS)
| Initializes tool; returns True if succeeded .
Standard_EXPORT Standard_Integer | NbStyles () const
| Returns number of defined styles .
Standard_EXPORT Handle_StepVisual_StyledItem | Style (const Standard_Integer i) const
| Returns style with given index .
Standard_EXPORT void | ClearStyles ()
| Clears all defined styles and PSA sequence .
Standard_EXPORT void | AddStyle (const Handle(StepVisual_StyledItem)&style)
| Adds a style to a sequence .
Standard_EXPORT Handle_StepVisual_StyledItem | AddStyle (const Handle(StepRepr_RepresentationItem)&item, const Handle(StepVisual_PresentationStyleAssignment)&PSA, const Handle(StepVisual_StyledItem)&Override)
| Create a style linking giving PSA to the item, and add it to the sequence of stored styles. If Override is not Null, then the resulting style will be of the subtype OverridingStyledItem. .
Standard_EXPORT Handle_StepVisual_StyledItem | AddStyle (const TopoDS_Shape &Shape, const Handle(StepVisual_PresentationStyleAssignment)&PSA, const Handle(StepVisual_StyledItem)&Override)
| Create a style linking giving PSA to the Shape, and add it to the sequence of stored styles. If Override is not Null, then the resulting style will be of the subtype OverridingStyledItem. The Sape is used to find corresponding STEP entity by call to STEPConstruct::FindEntity(), then previous method is called. .
Standard_EXPORT Standard_Boolean | CreateMDGPR (const Handle(StepRepr_RepresentationContext)&Context, Handle(StepVisual_MechanicalDesignGeometricPresentationRepresentation)&MDGPR)
| Create MDGPR, fill it with all the styles previously defined, and add it to the model .
Standard_EXPORT Standard_Boolean | CreateNAUOSRD (const Handle(StepRepr_RepresentationContext)&Context, const Handle(StepShape_ContextDependentShapeRepresentation)&CDSR, const Handle(StepRepr_ProductDefinitionShape)&initPDS)
| Create MDGPR, fill it with all the styles previously defined, and add it to the model IMPORTANT: <initpds> must be null when use for NAUO colors <initpds> initialised only for SHUO case. .
Standard_EXPORT Handle_StepRepr_RepresentationContext | FindContext (const TopoDS_Shape &Shape) const
| Searches the STEP model for the RepresentationContext in which given shape is defined. This context (if found) can be used then in call to CreateMDGPR() .
Standard_EXPORT Standard_Boolean | LoadStyles ()
| Searches the STEP model for the MDGPR or DM entities (which bring styles) and fills sequence of styles .
Standard_EXPORT Standard_Boolean | LoadInvisStyles (Handle(TColStd_HSequenceOfTransient)&InvSyles) const
| Searches the STEP model for the INISIBILITY enteties (which bring styles) and fills out sequence of styles .
Standard_EXPORT Handle_StepVisual_PresentationStyleAssignment | MakeColorPSA (const Handle(StepRepr_RepresentationItem)&item, const Handle(StepVisual_Colour)&SurfCol, const Handle(StepVisual_Colour)&CurveCol, const Standard_Boolean isForNAUO=Standard_False) const
| Create a PresentationStyleAssignment entity which defines two colors (for filling surfaces and curves) if isForNAUO true then returns PresentationStyleByContext .
Standard_EXPORT Handle_StepVisual_PresentationStyleAssignment | GetColorPSA (const Handle(StepRepr_RepresentationItem)&item, const Handle(StepVisual_Colour)&Col)
| Returns a PresentationStyleAssignment entity which defines surface and curve colors as Col. This PSA is either created or taken from internal map where all PSAs created by this method are remembered. .
Standard_EXPORT Standard_Boolean | GetColors (const Handle(StepVisual_StyledItem)&style, Handle(StepVisual_Colour)&SurfCol, Handle(StepVisual_Colour)&BoundCol, Handle(StepVisual_Colour)&CurveCol, Standard_Boolean &IsComponent) const
| Extract color definitions from the style entity For each type of color supported, result can be either NULL if it is not defined by that style, or last definition (if they are 1 or more) .

## Static Public Member Functions

static Standard_EXPORT Handle_StepVisual_Colour | EncodeColor (const Quantity_Color &Col)
| Create STEP color entity by given Quantity_Color The analysis is performed for whether the color corresponds to one of standard colors predefined in STEP. In that case, PredefinedColour entity is created instead of RGBColour .
static Standard_EXPORT Handle_StepVisual_Colour | EncodeColor (const Quantity_Color &Col, STEPConstruct_DataMapOfAsciiStringTransient &DPDCs, STEPConstruct_DataMapOfPointTransient &ColRGBs)
| Create STEP color entity by given Quantity_Color The analysis is performed for whether the color corresponds to one of standard colors predefined in STEP. In that case, PredefinedColour entity is created instead of RGBColour .
static Standard_EXPORT Standard_Boolean | DecodeColor (const Handle(StepVisual_Colour)&Colour, Quantity_Color &Col)
| Decodes STEP color and fills the Quantity_Color. Returns True if OK or False if color is not recognized .

## Private Attributes

TColStd_IndexedDataMapOfTransientTransient | myMapOfStyles
TColStd_SequenceOfTransient | myStyles
TColStd_SequenceOfTransient | myPSA

## Constructor & Destructor Documentation

Standard_EXPORT STEPConstruct_Styles::STEPConstruct_Styles | ( |  | ) |

Standard_EXPORT STEPConstruct_Styles::STEPConstruct_Styles | ( | const Handle(XSControl_WorkSession)& | WS | ) |

## Member Function Documentation

Standard_EXPORT Handle_StepVisual_StyledItem STEPConstruct_Styles::AddStyle | ( | const TopoDS_Shape & | Shape,
|  | const Handle(StepVisual_PresentationStyleAssignment)& | PSA,
|  | const Handle(StepVisual_StyledItem)& | Override
| ) |

Standard_EXPORT Handle_StepVisual_StyledItem STEPConstruct_Styles::AddStyle | ( | const Handle(StepRepr_RepresentationItem)& | item,
|  | const Handle(StepVisual_PresentationStyleAssignment)& | PSA,
|  | const Handle(StepVisual_StyledItem)& | Override
| ) |

Standard_EXPORT void STEPConstruct_Styles::AddStyle | ( | const Handle(StepVisual_StyledItem)& | style | ) |

Standard_EXPORT void STEPConstruct_Styles::ClearStyles | ( |  | ) |

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::CreateMDGPR | ( | const Handle(StepRepr_RepresentationContext)& | Context,
|  | Handle(StepVisual_MechanicalDesignGeometricPresentationRepresentation)& | MDGPR
| ) |

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::CreateNAUOSRD | ( | const Handle(StepRepr_RepresentationContext)& | Context,
|  | const Handle(StepShape_ContextDependentShapeRepresentation)& | CDSR,
|  | const Handle(StepRepr_ProductDefinitionShape)& | initPDS
| ) |

static Standard_EXPORT Standard_Boolean STEPConstruct_Styles::DecodeColor | ( | const Handle(StepVisual_Colour)& | Colour,
|  | Quantity_Color & | Col
| ) | `[static]`

static Standard_EXPORT Handle_StepVisual_Colour STEPConstruct_Styles::EncodeColor | ( | const Quantity_Color & | Col,
|  | STEPConstruct_DataMapOfAsciiStringTransient & | DPDCs,
|  | STEPConstruct_DataMapOfPointTransient & | ColRGBs
| ) | `[static]`

static Standard_EXPORT Handle_StepVisual_Colour STEPConstruct_Styles::EncodeColor | ( | const Quantity_Color & | Col | ) | `[static]`

Standard_EXPORT Handle_StepRepr_RepresentationContext STEPConstruct_Styles::FindContext | ( | const TopoDS_Shape & | Shape | ) | const

Standard_EXPORT Handle_StepVisual_PresentationStyleAssignment STEPConstruct_Styles::GetColorPSA | ( | const Handle(StepRepr_RepresentationItem)& | item,
|  | const Handle(StepVisual_Colour)& | Col
| ) |

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::GetColors | ( | const Handle(StepVisual_StyledItem)& | style,
|  | Handle(StepVisual_Colour)& | SurfCol,
|  | Handle(StepVisual_Colour)& | BoundCol,
|  | Handle(StepVisual_Colour)& | CurveCol,
|  | Standard_Boolean & | IsComponent
| ) | const

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::Init | ( | const Handle(XSControl_WorkSession)& | WS | ) |

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::LoadInvisStyles | ( | Handle(TColStd_HSequenceOfTransient)& | InvSyles | ) | const

Standard_EXPORT Standard_Boolean STEPConstruct_Styles::LoadStyles | ( |  | ) |

Standard_EXPORT Handle_StepVisual_PresentationStyleAssignment STEPConstruct_Styles::MakeColorPSA | ( | const Handle(StepRepr_RepresentationItem)& | item,
|  | const Handle(StepVisual_Colour)& | SurfCol,
|  | const Handle(StepVisual_Colour)& | CurveCol,
|  | const Standard_Boolean | isForNAUO = `Standard_False`
| ) | const

Standard_EXPORT Standard_Integer STEPConstruct_Styles::NbStyles | ( |  | ) | const

void STEPConstruct_Styles::operator delete | ( | void * | anAddress | ) | `[inline]`

| Reimplemented from STEPConstruct_Tool.

void* STEPConstruct_Styles::operator new | ( | size_t | size | ) | `[inline]`

| Reimplemented from STEPConstruct_Tool.

void* STEPConstruct_Styles::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

| Reimplemented from STEPConstruct_Tool.

Standard_EXPORT Handle_StepVisual_StyledItem STEPConstruct_Styles::Style | ( | const Standard_Integer | i | ) | const

## Field Documentation

TColStd_IndexedDataMapOfTransientTransient STEPConstruct_Styles::myMapOfStyles`[private]`

TColStd_SequenceOfTransient STEPConstruct_Styles::myPSA`[private]`

TColStd_SequenceOfTransient STEPConstruct_Styles::myStyles`[private]`

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

- STEPConstruct_Styles.hxx