0030024: Data Exchange - STEP, IGES export support of BRep shapes based on tessellate...
[occt.git] / src / StepVisual / StepVisual_TriangulatedFace.hxx
1 // Created on : Thu Mar 24 18:30:12 2022 
2 // Created by: snn
3 // Generator: Express (EXPRESS -> CASCADE/XSTEP Translator) V2.0
4 // Copyright (c) Open CASCADE 2022
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _StepVisual_TriangulatedFace_HeaderFile_
18 #define _StepVisual_TriangulatedFace_HeaderFile_
19
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
22 #include <StepVisual_TessellatedFace.hxx>
23
24 #include <TColStd_HArray1OfInteger.hxx>
25 #include <TColStd_HArray2OfInteger.hxx>
26
27 DEFINE_STANDARD_HANDLE(StepVisual_TriangulatedFace, StepVisual_TessellatedFace)
28
29 //! Representation of STEP entity TriangulatedFace
30 class StepVisual_TriangulatedFace : public StepVisual_TessellatedFace
31 {
32
33 public :
34
35   //! default constructor
36   Standard_EXPORT StepVisual_TriangulatedFace();
37
38   //! Initialize all fields (own and inherited)
39   Standard_EXPORT void Init(const Handle(TCollection_HAsciiString)& theRepresentationItem_Name,
40                             const Handle(StepVisual_CoordinatesList)& theTessellatedFace_Coordinates,
41                             const Standard_Integer theTessellatedFace_Pnmax,
42                             const Handle(TColStd_HArray2OfReal)& theTessellatedFace_Normals,
43                             const Standard_Boolean theHasTessellatedFace_GeometricLink,
44                             const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
45                             const Handle(TColStd_HArray1OfInteger)& thePnindex,
46                             const Handle(TColStd_HArray2OfInteger)& theTriangles);
47
48   //! Returns field Pnindex
49   Standard_EXPORT Handle(TColStd_HArray1OfInteger) Pnindex() const;
50
51   //! Sets field Pnindex
52   Standard_EXPORT void SetPnindex (const Handle(TColStd_HArray1OfInteger)& thePnindex);
53
54   //! Returns number of Pnindex
55   Standard_EXPORT Standard_Integer NbPnindex() const;
56
57   //! Returns value of Pnindex by its num
58   Standard_EXPORT Standard_Integer PnindexValue(const Standard_Integer theNum) const;
59
60   //! Returns field Triangles
61   Standard_EXPORT Handle(TColStd_HArray2OfInteger) Triangles() const;
62
63   //! Sets field Triangles
64   Standard_EXPORT void SetTriangles (const Handle(TColStd_HArray2OfInteger)& theTriangles);
65
66   //! Returns number of Triangles
67   Standard_EXPORT Standard_Integer NbTriangles() const;
68
69   DEFINE_STANDARD_RTTIEXT(StepVisual_TriangulatedFace, StepVisual_TessellatedFace)
70
71 private:
72
73   Handle(TColStd_HArray1OfInteger) myPnindex;
74   Handle(TColStd_HArray2OfInteger) myTriangles;
75
76 };
77
78 #endif // _StepVisual_TriangulatedFace_HeaderFile_