Open CASCADE Technology 7.8.2.dev
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) More...

#include <STEPConstruct_Styles.hxx>

Inheritance diagram for STEPConstruct_Styles:

Public Member Functions

 STEPConstruct_Styles ()
 Creates an empty tool.
 
 STEPConstruct_Styles (const Handle< XSControl_WorkSession > &WS)
 Creates a tool and initializes it.
 
Standard_Boolean Init (const Handle< XSControl_WorkSession > &WS)
 Initializes tool; returns True if succeeded.
 
Standard_Integer NbStyles () const
 Returns number of defined styles.
 
Handle< StepVisual_StyledItemStyle (const Standard_Integer i) const
 Returns style with given index.
 
Standard_Integer NbRootStyles () const
 Returns number of override styles.
 
Handle< StepVisual_StyledItemRootStyle (const Standard_Integer i) const
 Returns override style with given index.
 
void ClearStyles ()
 Clears all defined styles and PSA sequence.
 
void AddStyle (const Handle< StepVisual_StyledItem > &style)
 Adds a style to a sequence.
 
Handle< StepVisual_StyledItemAddStyle (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.
 
Handle< StepVisual_StyledItemAddStyle (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_Boolean CreateMDGPR (const Handle< StepRepr_RepresentationContext > &Context, Handle< StepVisual_MechanicalDesignGeometricPresentationRepresentation > &MDGPR, Handle< StepData_StepModel > &theStepModel)
 Create MDGPR, fill it with all the styles previously defined, and add it to the model.
 
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.
 
Handle< StepRepr_RepresentationContextFindContext (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_Boolean LoadStyles ()
 Searches the STEP model for the MDGPR or DM entities (which bring styles) and fills sequence of styles.
 
Standard_Boolean LoadInvisStyles (Handle< TColStd_HSequenceOfTransient > &InvSyles) const
 Searches the STEP model for the INISIBILITY entities (which bring styles) and fills out sequence of styles.
 
Handle< StepVisual_PresentationStyleAssignmentMakeColorPSA (const Handle< StepRepr_RepresentationItem > &item, const Handle< StepVisual_Colour > &SurfCol, const Handle< StepVisual_Colour > &CurveCol, const Handle< StepVisual_Colour > &RenderCol, const Standard_Real RenderTransp, 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.
 
Handle< StepVisual_PresentationStyleAssignmentGetColorPSA (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_Boolean GetColors (const Handle< StepVisual_StyledItem > &theStyle, Handle< StepVisual_Colour > &theSurfaceColour, Handle< StepVisual_Colour > &theBoundaryColour, Handle< StepVisual_Colour > &theCurveColour, Handle< StepVisual_Colour > &theRenderColour, Standard_Real &theRenderTransparency, Standard_Boolean &theIsComponent) 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)
 
- Public Member Functions inherited from STEPConstruct_Tool
 STEPConstruct_Tool ()
 Creates an empty tool.
 
 STEPConstruct_Tool (const Handle< XSControl_WorkSession > &WS)
 Creates a tool and loads it with worksession.
 
const Handle< XSControl_WorkSession > & WS () const
 Returns currently loaded WorkSession.
 
Handle< Interface_InterfaceModelModel () const
 Returns current model (Null if not loaded)
 
const Interface_GraphGraph (const Standard_Boolean recompute=Standard_False) const
 Returns current graph (recomputing if necessary)
 
const Handle< Transfer_TransientProcess > & TransientProcess () const
 Returns TransientProcess (reading; Null if not loaded)
 
const Handle< Transfer_FinderProcess > & FinderProcess () const
 Returns FinderProcess (writing; Null if not loaded)
 

Static Public Member Functions

static Handle< StepVisual_ColourEncodeColor (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 Handle< StepVisual_ColourEncodeColor (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_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.
 

Additional Inherited Members

- Protected Member Functions inherited from STEPConstruct_Tool
Standard_Boolean SetWS (const Handle< XSControl_WorkSession > &WS)
 Load worksession; returns True if succeeded Returns False if either FinderProcess of TransientProcess cannot be obtained or are Null.
 

Detailed Description

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)

Constructor & Destructor Documentation

◆ STEPConstruct_Styles() [1/2]

STEPConstruct_Styles::STEPConstruct_Styles ( )

Creates an empty tool.

◆ STEPConstruct_Styles() [2/2]

STEPConstruct_Styles::STEPConstruct_Styles ( const Handle< XSControl_WorkSession > & WS)

Creates a tool and initializes it.

Member Function Documentation

◆ AddStyle() [1/3]

Handle< StepVisual_StyledItem > STEPConstruct_Styles::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.

◆ AddStyle() [2/3]

void STEPConstruct_Styles::AddStyle ( const Handle< StepVisual_StyledItem > & style)

Adds a style to a sequence.

◆ AddStyle() [3/3]

Handle< StepVisual_StyledItem > STEPConstruct_Styles::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.

◆ ClearStyles()

void STEPConstruct_Styles::ClearStyles ( )

Clears all defined styles and PSA sequence.

◆ CreateMDGPR()

Standard_Boolean STEPConstruct_Styles::CreateMDGPR ( const Handle< StepRepr_RepresentationContext > & Context,
Handle< StepVisual_MechanicalDesignGeometricPresentationRepresentation > & MDGPR,
Handle< StepData_StepModel > & theStepModel )

Create MDGPR, fill it with all the styles previously defined, and add it to the model.

◆ CreateNAUOSRD()

Standard_Boolean STEPConstruct_Styles::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.

◆ DecodeColor()

static Standard_Boolean STEPConstruct_Styles::DecodeColor ( const Handle< StepVisual_Colour > & Colour,
Quantity_Color & Col )
static

Decodes STEP color and fills the Quantity_Color. Returns True if OK or False if color is not recognized.

◆ EncodeColor() [1/2]

static Handle< StepVisual_Colour > STEPConstruct_Styles::EncodeColor ( const Quantity_Color & Col)
static

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.

◆ EncodeColor() [2/2]

static Handle< StepVisual_Colour > STEPConstruct_Styles::EncodeColor ( const Quantity_Color & Col,
STEPConstruct_DataMapOfAsciiStringTransient & DPDCs,
STEPConstruct_DataMapOfPointTransient & ColRGBs )
static

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.

◆ FindContext()

Handle< StepRepr_RepresentationContext > STEPConstruct_Styles::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()

◆ GetColorPSA()

Handle< StepVisual_PresentationStyleAssignment > STEPConstruct_Styles::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.

◆ GetColors()

Standard_Boolean STEPConstruct_Styles::GetColors ( const Handle< StepVisual_StyledItem > & theStyle,
Handle< StepVisual_Colour > & theSurfaceColour,
Handle< StepVisual_Colour > & theBoundaryColour,
Handle< StepVisual_Colour > & theCurveColour,
Handle< StepVisual_Colour > & theRenderColour,
Standard_Real & theRenderTransparency,
Standard_Boolean & theIsComponent ) 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)

◆ Init()

Standard_Boolean STEPConstruct_Styles::Init ( const Handle< XSControl_WorkSession > & WS)

Initializes tool; returns True if succeeded.

◆ LoadInvisStyles()

Standard_Boolean STEPConstruct_Styles::LoadInvisStyles ( Handle< TColStd_HSequenceOfTransient > & InvSyles) const

Searches the STEP model for the INISIBILITY entities (which bring styles) and fills out sequence of styles.

◆ LoadStyles()

Standard_Boolean STEPConstruct_Styles::LoadStyles ( )

Searches the STEP model for the MDGPR or DM entities (which bring styles) and fills sequence of styles.

◆ MakeColorPSA()

Handle< StepVisual_PresentationStyleAssignment > STEPConstruct_Styles::MakeColorPSA ( const Handle< StepRepr_RepresentationItem > & item,
const Handle< StepVisual_Colour > & SurfCol,
const Handle< StepVisual_Colour > & CurveCol,
const Handle< StepVisual_Colour > & RenderCol,
const Standard_Real RenderTransp,
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.

◆ NbRootStyles()

Standard_Integer STEPConstruct_Styles::NbRootStyles ( ) const

Returns number of override styles.

◆ NbStyles()

Standard_Integer STEPConstruct_Styles::NbStyles ( ) const

Returns number of defined styles.

◆ RootStyle()

Handle< StepVisual_StyledItem > STEPConstruct_Styles::RootStyle ( const Standard_Integer i) const

Returns override style with given index.

◆ Style()

Handle< StepVisual_StyledItem > STEPConstruct_Styles::Style ( const Standard_Integer i) const

Returns style with given index.


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