Open CASCADE Technology  7.5.0
Data Structures | Public Member Functions | Protected Member Functions
VrmlData_ShapeConvert Class Reference

#include <VrmlData_ShapeConvert.hxx>

Data Structures

struct  ShapeData
 

Public Member Functions

 VrmlData_ShapeConvert (VrmlData_Scene &theScene, const Standard_Real theScale=1.)
 
void AddShape (const TopoDS_Shape &theShape, const char *theName=0L)
 
void Convert (const Standard_Boolean theExtractFaces, const Standard_Boolean theExtractEdges, const Standard_Real theDeflection=0.01, const Standard_Real theDeflAngle=20.*M_PI/180.)
 
void ConvertDocument (const Handle< TDocStd_Document > &theDoc)
 

Protected Member Functions

Handle< VrmlData_GeometrytriToIndexedFaceSet (const Handle< Poly_Triangulation > &, const TopoDS_Face &, const Handle< VrmlData_Coordinate > &)
 
Handle< VrmlData_GeometrypolToIndexedLineSet (const Handle< Poly_Polygon3D > &)
 
Handle< VrmlData_AppearancedefaultMaterialFace () const
 
Handle< VrmlData_AppearancedefaultMaterialEdge () const
 
Handle< VrmlData_GeometrymakeTShapeNode (const TopoDS_Shape &theShape, const TopAbs_ShapeEnum theShapeType, TopLoc_Location &theLoc)
 
void addAssembly (const Handle< VrmlData_Group > &theParent, const TDF_Label &theLabel, const Handle< TDocStd_Document > &theDoc, const Standard_Boolean theNeedCreateGroup)
 
void addInstance (const Handle< VrmlData_Group > &theParent, const TDF_Label &theLabel, const Handle< TDocStd_Document > &theDoc)
 
void addShape (const Handle< VrmlData_Group > &theParent, const TDF_Label &theLabel, const Handle< TDocStd_Document > &theDoc)
 
Handle< VrmlData_AppearancemakeMaterialFromStyle (const XCAFPrs_Style &theStyle, const TDF_Label &theAttribLab) const
 

Detailed Description

Algorithm converting one shape or a set of shapes to VrmlData_Scene.

Constructor & Destructor Documentation

◆ VrmlData_ShapeConvert()

VrmlData_ShapeConvert::VrmlData_ShapeConvert ( VrmlData_Scene theScene,
const Standard_Real  theScale = 1. 
)
inline

Constructor.

Parameters
theSceneScene receiving all Vrml data.
theScaleScale factor, considering that VRML standard specifies coordinates in meters. So if your data are in mm, you should provide theScale=0.001

Member Function Documentation

◆ addAssembly()

void VrmlData_ShapeConvert::addAssembly ( const Handle< VrmlData_Group > &  theParent,
const TDF_Label theLabel,
const Handle< TDocStd_Document > &  theDoc,
const Standard_Boolean  theNeedCreateGroup 
)
protected

◆ addInstance()

void VrmlData_ShapeConvert::addInstance ( const Handle< VrmlData_Group > &  theParent,
const TDF_Label theLabel,
const Handle< TDocStd_Document > &  theDoc 
)
protected

◆ AddShape()

void VrmlData_ShapeConvert::AddShape ( const TopoDS_Shape theShape,
const char *  theName = 0L 
)

Add one shape to the internal list, may be called several times with different shapes.

◆ addShape()

void VrmlData_ShapeConvert::addShape ( const Handle< VrmlData_Group > &  theParent,
const TDF_Label theLabel,
const Handle< TDocStd_Document > &  theDoc 
)
protected

◆ Convert()

void VrmlData_ShapeConvert::Convert ( const Standard_Boolean  theExtractFaces,
const Standard_Boolean  theExtractEdges,
const Standard_Real  theDeflection = 0.01,
const Standard_Real  theDeflAngle = 20.*M_PI/180. 
)

Convert all accumulated shapes and store them in myScene. The internal data structures are cleared in the end of convertion.

Parameters
theExtractFacesIf True, converter extracst faces from the shapes.
theExtractEdgesIf True, converter extracts edges from the shapes.
theDeflectionDeflection for tessellation of geometrical lines/surfaces. Existing mesh is used if its deflection is smaller than the one given by this parameter.
theDeflAngleAngular deflection for tessellation of geometrical lines.

◆ ConvertDocument()

void VrmlData_ShapeConvert::ConvertDocument ( const Handle< TDocStd_Document > &  theDoc)

Add all shapes start from given document with colors and names to the internal structure

◆ defaultMaterialEdge()

Handle< VrmlData_Appearance > VrmlData_ShapeConvert::defaultMaterialEdge ( ) const
protected

◆ defaultMaterialFace()

Handle< VrmlData_Appearance > VrmlData_ShapeConvert::defaultMaterialFace ( ) const
protected

◆ makeMaterialFromStyle()

Handle< VrmlData_Appearance > VrmlData_ShapeConvert::makeMaterialFromStyle ( const XCAFPrs_Style theStyle,
const TDF_Label theAttribLab 
) const
protected

◆ makeTShapeNode()

Handle< VrmlData_Geometry > VrmlData_ShapeConvert::makeTShapeNode ( const TopoDS_Shape theShape,
const TopAbs_ShapeEnum  theShapeType,
TopLoc_Location theLoc 
)
protected

◆ polToIndexedLineSet()

Handle< VrmlData_Geometry > VrmlData_ShapeConvert::polToIndexedLineSet ( const Handle< Poly_Polygon3D > &  )
protected

◆ triToIndexedFaceSet()

Handle< VrmlData_Geometry > VrmlData_ShapeConvert::triToIndexedFaceSet ( const Handle< Poly_Triangulation > &  ,
const TopoDS_Face ,
const Handle< VrmlData_Coordinate > &   
)
protected

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