# OpenCASCADE Data Structures

Here are the data structures with brief descriptions:

Base_Window |
BOPTest |
BOPTest_DrawableShape |
BRepTest | Provides commands to test BRep.
DBRep | Used to display BRep objects using the DrawTrSurf package. The DrawableShape is a Display object build from a Shape. Provides methods to manage a directory of named shapes. Provides a set of Draw commands for Shapes.
DBRep_DrawableShape |
DBRep_Edge |
DBRep_Face |
DBRep_HideData | This class stores all the informations concerning hidden lines on a view. * View number * Matrix of projection * Type of projection, focal * Arrays of 3d points A drawable shape contains a list of such objects to store the hidden lines for each view. The IsSame method is used to check if hidden lines must be recompiled.
DBRep_IsoBuilder | Creation of isoparametric curves.
DBRep_ListIteratorOfListOfEdge |
DBRep_ListIteratorOfListOfFace |
DBRep_ListIteratorOfListOfHideData |
DBRep_ListNodeOfListOfEdge |
DBRep_ListNodeOfListOfFace |
DBRep_ListNodeOfListOfHideData |
DBRep_ListOfEdge |
DBRep_ListOfFace |
DBRep_ListOfHideData |
DDataStd | Commands for Standard Attributes. =================================
DDataStd_DrawDriver | Priority rule to display standard attributes is : * 1 Constraint * 2 Object * 3 Datum (Point,Axis,Plane) * 4 Geometry * 5 NamedShape
DDataStd_DrawPresentation | Draw presentaion of a label of a document
DDataStd_TreeBrowser | Browses a TreeNode from TDataStd. =================================
DDF | Provides facilities to manipulate data framework in a Draw-Commands environment.
DDF_AttributeBrowser |
DDF_Browser | Browses a data framework.
DDF_Data | Encapsulates a data framework in a drawable object
DDF_IOStream |
DDF_StackIteratorOfTransactionStack |
DDF_StackNodeOfTransactionStack |
DDF_Transaction | This class encapsulates TDF_Transaction.
DDF_TransactionStack |
DDocStd | This package provides Draw services to test CAF standard documents (see TDocStd package) It provides : * Modification registration and Update management. * External references mechanism * UNDO/REDO * Document Creation, Save and Restore
DDocStd_DrawDocument | Draw variable for TDocStd_Document. ==================================
DNaming |
DNaming_DataMapIteratorOfDataMapOfShapeOfName |
DNaming_DataMapNodeOfDataMapOfShapeOfName |
DNaming_DataMapOfShapeOfName |
DPrsStd | Commands for presentation based on AIS ======================================
Draw | MAQUETTE DESSIN MODELISATION
Draw_Axis2D |
Draw_Axis3D |
Draw_Box |
Draw_Chronometer | Class to store chronometer variables.
Draw_Circle2D |
Draw_Circle3D |
Draw_Color |
Draw_DataMapIteratorOfMapOfFunctions |
Draw_DataMapIteratorOfVMap |
Draw_DataMapNodeOfMapOfFunctions |
Draw_DataMapNodeOfVMap |
Draw_Display | Use to draw in a 3d or a 2d view. * The 3d methods draw in the 3d system, in a 2d view the drawing is projected on X,Y. * The 2d methods draw in the projection plane. * To draw in screen coordinates the length must be divided by the zoom.
Draw_Drawable2D |
Draw_Drawable3D |
Draw_Failure |
Draw_Grid |
Draw_IndexedMapNodeOfMapOfAsciiString |
Draw_Interpretor | Provides an encapsulation of the TCL interpretor to define Draw commands.
Draw_MapOfAsciiString |
Draw_MapOfFunctions |
Draw_Marker2D |
Draw_Marker3D |
Draw_Number | To store nummbers in variables.
Draw_Printer | Implementation of Printer class with output directed to Draw_Interpretor
Draw_ProgressIndicator | Implements ProgressIndicator (interface provided by Message) for DRAW, with possibility to output to TCL window and/or trace file
Draw_SaveAndRestore |
Draw_Segment2D |
Draw_Segment3D |
Draw_SequenceNodeOfSequenceOfDrawable3D |
Draw_SequenceOfDrawable3D |
Draw_Text2D |
Draw_Text3D |
Draw_Viewer |
Draw_VMap |
Draw_Window |
DrawDim | This package provides Drawable Dimensions. The classes PlanarDimension and subclasses provide services to build drawable dimensions between point line and circle in a given 3d plane. The classes Dimension and subclasses provide services to build drawable dimensions between plane and cylindrical surfaces.
DrawDim_Angle |
DrawDim_Dimension |
DrawDim_Distance |
DrawDim_PlanarAngle |
DrawDim_PlanarDiameter |
DrawDim_PlanarDimension |
DrawDim_PlanarDistance | PlanarDistance point/point PlanarDistance point/line PlanarDistance line/line
DrawDim_PlanarRadius |
DrawDim_Radius |
DrawFairCurve_Batten | Interactive Draw object of type "Batten"
DrawFairCurve_MinimalVariation | Interactive Draw object of type "MVC"

DrawTrSurf

This package supports the display of parametric
curves and surfaces.
The Drawable deferred classes is inherited from
the Drawable3D class from the package Draw, it
adds methods to draw 3D Curves and Curves on 3D
Surfaces.
The classes Curve Curve2d and Surface are drawable
and can be used to draw a single curve from
packages Geom or Geom2d or a surface from Geom.
The Triangulation and Polygon from the package
Poly are also supported.

DrawTrSurf_BezierCurve |
DrawTrSurf_BezierCurve2d |
DrawTrSurf_BezierSurface |
DrawTrSurf_BSplineCurve |
DrawTrSurf_BSplineCurve2d |
DrawTrSurf_BSplineSurface | This class defines a drawable BSplineSurface. With this class you can draw the control points and the knots of the surface. You can use the general class Surface from DrawTrSurf too, if you just want to sea boundaries and isoparametric curves.
DrawTrSurf_Curve | This class defines a drawable curve in 3d space.
DrawTrSurf_Curve2d | This class defines a drawable curve in 2d space. The curve is drawned in the plane XOY.
DrawTrSurf_Drawable | This class adds to the Drawable3D methods to display Curves and Curves on Surface. The discretisation, number of points on a Curve, is stored in this class.
DrawTrSurf_Point | A drawable point.
DrawTrSurf_Polygon2D | Used to display a 2d polygon. Optional display of nodes.
DrawTrSurf_Polygon3D | Used to display a 3d polygon. Optional display of nodes.
DrawTrSurf_Surface | This class defines a drawable surface. With this class you can draw a general surface from package Geom.
DrawTrSurf_Triangulation | Used to display a triangulation. Display internal edges in blue Display boundary edges in red Optional display of triangles and nodes indices.
DrawTrSurf_Triangulation2D | Used to display a 2d triangulation. Display internal edges in blue Display boundary edges in red Optional display of triangles and nodes indices.
Event |
GeometryTest | This package provides commands for curves and surface.
GeomliteTest | This package provides elementary commands for curves and surface.
HLRTest | This package is a test of the Hidden Lines algorithms instantiated on the BRep Data Structure and using the Draw package to display the results.
HLRTest_DrawableEdgeTool |
HLRTest_DrawablePolyEdgeTool |
HLRTest_OutLiner |
HLRTest_Projector |
HLRTest_ShapeData | Contains the colors of a shape.
MeshTest | Provides methods for testing the mesh algorithms.
MeshTest_DrawableMesh | A drawable mesh. It contains a sequence of highlighted edges and highlighted vertices.
MeshTest_DrawableUVDomain | Drawable 2d mesh of a domain.
Segment |
SWDRAW | Provides DRAW interface to the functionalities of Shape Healing toolkit (SHAPEWORKS Delivery Unit). Classes prefixed with Shape* corresponds to the packages of Shape Healing.
SWDRAW_ShapeAnalysis | Contains commands to activate package ShapeAnalysis List of DRAW commands and corresponding functionalities: tolerance - ShapeAnalysis_ShapeTolerance projcurve - ShapeAnalysis_Curve projface - ShapeAnalysis_Surface
SWDRAW_ShapeBuild | Contains commands to activate package ShapeBuild List of DRAW commands and corresponding functionalities:
SWDRAW_ShapeConstruct | Contains commands to activate package ShapeConstruct List of DRAW commands and corresponding functionalities:
SWDRAW_ShapeCustom | Contains commands to activate package ShapeCustom List of DRAW commands and corresponding functionalities: directfaces - ShapeCustom::DirectFaces scaleshape - ShapeCustom::ScaleShape
SWDRAW_ShapeExtend | Contains commands to activate package ShapeExtend List of DRAW commands and corresponding functionalities: sortcompound - ShapeExtend_Explorer::SortedCompound
SWDRAW_ShapeFix | Contains commands to activate package ShapeFix List of DRAW commands and corresponding functionalities: edgesameparam - ShapeFix::SameParameter settolerance - ShapeFix_ShapeTolerance stwire - ShapeFix_Wire reface - ShapeFix_Face repcurve - ShapeFix_PCurves
SWDRAW_ShapeProcess | Contains commands to activate package ShapeProcess
SWDRAW_ShapeProcessAPI | Contains commands to activate package ShapeProcessAPI
SWDRAW_ShapeTool | Defines functions to control shapes (in way useful for XSTEP), additional features which should be basic, or call tools which are bound with transfer needs. But these functions work on shapes, geometry, nothing else (no file, no model, no entity)

SWDRAW_ShapeUpgrade

Contains commands to activate package ShapeUpgrade
List of DRAW commands and corresponding functionalities:
DT_ShapeDivide - ShapeUpgrade_ShapeDivide
DT_PlaneDividedFace - ShapeUpgrade_PlaneDividedFace
DT_PlaneGridShell - ShapeUpgrade_PlaneGridShell
DT_PlaneFaceCommon - ShapeUpgrade_PlaneFaceCommon
DT_Split2dCurve - ShapeUpgrade_Split2dCurve
DT_SplitCurve - ShapeUpgrade_SplitCurve
DT_SplitSurface - ShapeUpgrade_SplitSurface
DT_SupportModification - ShapeUpgrade_DataMapOfShapeSurface
DT_Debug - ShapeUpgrade::SetDebug
shellsolid - ShapeAnalysis_Shell/ShapeUpgrade_ShellSewing

SWDRAW_ToVRML | Writes a Shape to a File in VRML Format
TestTopOpe |
TestTopOpe_BOOP |
TestTopOpe_HDSDisplayer |
TestTopOpeDraw |
TestTopOpeDraw_Array1OfDrawableMesure |
TestTopOpeDraw_Array1OfDrawableP3D |
TestTopOpeDraw_C2DDisplayer |
TestTopOpeDraw_C3DDisplayer |
TestTopOpeDraw_Displayer |
TestTopOpeDraw_DrawableC2D |
TestTopOpeDraw_DrawableC3D |
TestTopOpeDraw_DrawableMesure |
TestTopOpeDraw_DrawableP2D |
TestTopOpeDraw_DrawableP3D |
TestTopOpeDraw_DrawableSHA |
TestTopOpeDraw_DrawableSUR |
TestTopOpeDraw_HArray1OfDrawableMesure |
TestTopOpeDraw_HArray1OfDrawableP3D |
TestTopOpeDraw_ListIteratorOfListOfAsciiString |
TestTopOpeDraw_ListIteratorOfListOfPnt2d |
TestTopOpeDraw_ListNodeOfListOfAsciiString |
TestTopOpeDraw_ListNodeOfListOfPnt2d |
TestTopOpeDraw_ListOfAsciiString |
TestTopOpeDraw_ListOfPnt2d |
TestTopOpeDraw_P2DDisplayer |
TestTopOpeDraw_P3DDisplayer |
TestTopOpeDraw_SurfaceDisplayer |
TestTopOpeDraw_TTOT |

TestTopOpeTools

Provide Trace control on packages involved in
topological operations kernel, from Draw command interpretor.
They may be used by users of topological operation kernel, such as :
* topological operation performer,
* hidden line removal performer,
* fillet, chamfer performer
Trace control consists in management of
control functions, activating/desactivating execution of
instructions considered as purely PASSIVE code,
performing dumps, prints, and drawing of internal objects
dealed by some topological operation packages.
All of the Trace controls in top.ope. kernel
are enclosed by the C conditional compilation statements :
#ifdef DEB ... #endif
The "Traced" packages of topological operation kernel are :
- TopBuild
- TopOpeBRepTool
- TopOpeBRepDS
How to use the Trace :
----------------------
In a Test.cxx program using the Draw command interpretor, dealing
a set of commands theCommands (Draw_CommandManager theCommands) :

TestTopOpeTools_Array1OfMesure |
TestTopOpeTools_HArray1OfMesure |
TestTopOpeTools_Mesure |
TestTopOpeTools_Trace |
TObjDRAW | Provides DRAW commands for work with TObj data structures
VarsTopo |
Viewer2dTest |
Viewer2dTest_DataMapIteratorOfDataMapOfText |
Viewer2dTest_DataMapNodeOfDataMapOfText |
Viewer2dTest_DataMapOfText |
Viewer2dTest_DoubleMapIteratorOfDoubleMapOfInteractiveAndName |
Viewer2dTest_DoubleMapNodeOfDoubleMapOfInteractiveAndName |
Viewer2dTest_DoubleMapOfInteractiveAndName |
Viewer2dTest_EventManager |
ViewerTest |
ViewerTest_DoubleMapIteratorOfDoubleMapOfInteractiveAndName |
ViewerTest_DoubleMapNodeOfDoubleMapOfInteractiveAndName |
ViewerTest_DoubleMapOfInteractiveAndName |
ViewerTest_EventManager |
ViewerTest_Tool | To build and initialize ViewerTest static variables. ====================================================
XDEDRAW | Provides DRAW commands for work with DECAF data structures
XDEDRAW_Colors | Contains commands to work with colors
XDEDRAW_Common |
XDEDRAW_Layers | Contains commands to work with layers
XDEDRAW_Props | Contains commands to work with geometric validation properties of shapes
XDEDRAW_Shapes | Contains commands to work with shapes
XSDRAW | Basic package to work functions of X-STEP (IFSelect & Co) under control of DRAW Works with some "static" data : a SessionPilot (used to run) with its WorkSession and Model and TransferReader, a FinderProcess

XSDRAW_Functions

Defines additionnal commands for XSDRAW to :
- control of initialisation (xinit, xnorm, newmodel)
- analyse of the result of a transfer (recorded in a
TransientProcess for Read, FinderProcess for Write) :
statistics, various lists (roots,complete,abnormal), what
about one specific entity, producing a model with the
abnormal result
This appendix of XSDRAW is compiled separately to distinguish
basic features from user callable forms

XSDRAW_Shape | Defines functions to control shapes (in way useful for XSTEP), additional features which should be basic, or call tools which are bound with transfer needs. But these functions work on shapes, geometry, nothing else (no file, no model, no entity)
XSDRAW_Vars | Vars for DRAW session (i.e. DBRep and DrawTrSurf)
XSDRAWIGES | XSDRAW for IGES : commands IGESSelect, Controller, transfer
XSDRAWSTEP | XSDRAW for STEP AP214 and AP203
XSDRAWSTLVRML |
XSDRAWSTLVRML_CoordsMap |
XSDRAWSTLVRML_DataMapIteratorOfCoordsMap |
XSDRAWSTLVRML_DataMapIteratorOfElemNodesMap |
XSDRAWSTLVRML_DataMapNodeOfCoordsMap |
XSDRAWSTLVRML_DataMapNodeOfElemNodesMap |
XSDRAWSTLVRML_DataSource | The sample DataSource for working with STLMesh_Mesh
XSDRAWSTLVRML_DrawableMesh |
XSDRAWSTLVRML_ElemNodesMap |