Version: 9.16.0
GEOM_OCCReader.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// GEOM OBJECT : interactive object for Geometry entities visualization
24// File : GEOM_OCCReader.h
25// Author : Christophe ATTANASIO
26// Module : GEOM
27//
33#ifndef GEOM_OCCREADER_H
34#define GEOM_OCCREADER_H
35
36#include "GEOM_OBJECT_defs.hxx"
37
38#include <vtkAlgorithm.h>
39
40class vtkPoints;
41class vtkCellArray;
42namespace GEOMUtils
43{
44 class Hatcher;
45}
46
47// OpenCASCADE
48#include <TopoDS_Edge.hxx>
49#include <TopoDS_Shape.hxx>
50#include <TopoDS_Vertex.hxx>
51#include <GeomAbs_IsoType.hxx>
52#include <BRepAdaptor_Surface.hxx>
53
55
56 // methods
57
58 public:
59
60 static GEOM_OCCReader* New();
61
62 const TopoDS_Shape& getTopo();
63
64 void setTopo(const TopoDS_Shape& ashape, bool isVector = false);
65
66 int getDisplayMode();
67 void setDisplayMode(int);
68
69 void setForceUpdate(Standard_Boolean bol);
70
71 protected:
72
75
76 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
77
78 void ComputeShading(vtkPoints* Pts,vtkCellArray* Cells);
79 void ComputeWireframe(vtkPoints* Pts,vtkCellArray* Cells);
80
81 void TransferFaceSData(const TopoDS_Face& aFace,
82 vtkPoints* Pts,
83 vtkCellArray* Cells);
84
85 void TransferFaceWData(const TopoDS_Face& aFace,
86 vtkPoints* Pts,
87 vtkCellArray* Cells);
88
89 void TransferEdgeSData(const TopoDS_Edge& aEdge,
90 vtkPoints* Pts,
91 vtkCellArray* Cells);
92
93 void TransferEdgeWData(const TopoDS_Edge& aEdge,
94 vtkPoints* Pts,
95 vtkCellArray* Cells);
96
97 void TransferVertexWData(const TopoDS_Vertex& aVertex,
98 vtkPoints* Pts,
99 vtkCellArray* Cells);
100
101 void createISO(const TopoDS_Face &,
102 int,
103 vtkPoints* Pts,
104 vtkCellArray* Cells);
105
106 void createIsos(const GEOMUtils::Hatcher &theHatcher,
107 const Standard_Boolean IsUIso,
108 Standard_Integer &pt_start_idx,
109 vtkPoints *Pts,
110 vtkCellArray *Cell);
111
112 void DrawIso(GeomAbs_IsoType aType,
113 Standard_Real PParm,
114 Standard_Real p1,
115 Standard_Real p2,
116 vtkPoints* Pts,
117 vtkCellArray* Cells,
118 Standard_Integer& startidx);
119
120 void MoveTo(gp_Pnt P,
121 vtkPoints* Pts);
122
123 void DrawTo(gp_Pnt P,
124 vtkPoints* Pts,
125 vtkCellArray* Cells);
126
127 void PlotIso(BRepAdaptor_Surface& S,
128 GeomAbs_IsoType T,
129 Standard_Real& U,
130 Standard_Real& V,
131 Standard_Real Step,
132 Standard_Boolean& halt,
133 vtkPoints* Pts,
134 vtkCellArray* Cells);
135
136 // fields
137
138 private:
139
140 Standard_Boolean forced;
142 int amode;
144 TopoDS_Shape myShape;
146
147};
148
149#endif //GEOM_OCCREADER_H
#define GEOM_OBJECT_EXPORT
Definition: GEOM_OBJECT_defs.hxx:37
Definition: GEOMUtils_Hatcher.hxx:40
This class allow to display a OpenCASCADE CAD model in a VTK viewer.
Definition: GEOM_OCCReader.h:54
TopoDS_Shape myShape
Definition: GEOM_OCCReader.h:144
bool myIsVector
Definition: GEOM_OCCReader.h:145
Standard_Boolean forced
Definition: GEOM_OCCReader.h:140
int amode
Definition: GEOM_OCCReader.h:142
int discretiso
Definition: GEOM_OCCReader.h:141
int nbisos
Definition: GEOM_OCCReader.h:143
Definition: GEOMUtils.hxx:56