summaryrefslogtreecommitdiff
path: root/inc/Graphic3d_ArrayOfPolygons.hxx
blob: df10c2d8cfbca16c8cb646f795dad1beb8a11de7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Graphic3d_ArrayOfPolygons_HeaderFile
#define _Graphic3d_ArrayOfPolygons_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Graphic3d_ArrayOfPolygons_HeaderFile
#include <Handle_Graphic3d_ArrayOfPolygons.hxx>
#endif

#ifndef _Graphic3d_ArrayOfPrimitives_HeaderFile
#include <Graphic3d_ArrayOfPrimitives.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif



class Graphic3d_ArrayOfPolygons : public Graphic3d_ArrayOfPrimitives {

public:

  //! Creates an array of polygons, <br>
//! a polygon can be filled as: <br>
//! 1) creating a single polygon defined with his vertexs. <br>
//!    i.e: <br>
//!    myArray = Graphic3d_ArrayOfPolygons(7) <br>
//!    myArray->AddVertex(x1,y1,z1) <br>
//!	.... <br>
//!    myArray->AddVertex(x7,y7,z7) <br>
//! 2) creating separate polygons defined with a predefined <br>
//!    number of bounds and the number of vertex per bound. <br>
//!    i.e: <br>
//!    myArray = Graphic3d_ArrayOfPolygons(7,2) <br>
//!    myArray->AddBound(4) <br>
//!    myArray->AddVertex(x1,y1,z1) <br>
//!	.... <br>
//!    myArray->AddVertex(x4,y4,z4) <br>
//!    myArray->AddBound(3) <br>
//!    myArray->AddVertex(x5,y5,z5) <br>
//!	.... <br>
//!    myArray->AddVertex(x7,y7,z7) <br>
//! 3) creating a single indexed polygon defined with his vertex <br>
//!    ans edges. <br>
//!    i.e: <br>
//!    myArray = Graphic3d_ArrayOfPolygons(4,0,6) <br>
//!    myArray->AddVertex(x1,y1,z1) <br>
//!	.... <br>
//!    myArray->AddVertex(x4,y4,z4) <br>
//!    myArray->AddEdge(1) <br>
//!    myArray->AddEdge(2) <br>
//!    myArray->AddEdge(3) <br>
//!    myArray->AddEdge(1) <br>
//!    myArray->AddEdge(2) <br>
//!    myArray->AddEdge(4) <br>
//! 4) creating separate polygons defined with a predefined <br>
//!    number of bounds and the number of edges per bound. <br>
//!    i.e: <br>
//!    myArray = Graphic3d_ArrayOfPolygons(6,4,14) <br>
//!    myArray->AddBound(3) <br>
//!    myArray->AddVertex(x1,y1,z1) <br>
//!    myArray->AddVertex(x2,y2,z2) <br>
//!    myArray->AddVertex(x3,y3,z3) <br>
//!    myArray->AddEdge(1) <br>
//!    myArray->AddEdge(2) <br>
//!    myArray->AddEdge(3) <br>
//!    myArray->AddBound(3) <br>
//!    myArray->AddVertex(x4,y4,z4) <br>
//!    myArray->AddVertex(x5,y5,z5) <br>
//!    myArray->AddVertex(x6,y6,z6) <br>
//!    myArray->AddEdge(4) <br>
//!    myArray->AddEdge(5) <br>
//!    myArray->AddEdge(6) <br>
//!    myArray->AddBound(4) <br>
//!    myArray->AddEdge(2) <br>
//!    myArray->AddEdge(3) <br>
//!    myArray->AddEdge(5) <br>
//!    myArray->AddEdge(6) <br>
//!    myArray->AddBound(4) <br>
//!    myArray->AddEdge(1) <br>
//!    myArray->AddEdge(3) <br>
//!    myArray->AddEdge(5) <br>
//!    myArray->AddEdge(4) <br>
//! <maxVertexs> defined the maximun allowed vertex number in the array. <br>
//! <maxBounds> defined the maximun allowed bound number in the array. <br>
//! <maxEdges> defined the maximun allowed edge number in the array. <br>
//!  Warning: <br>
//! When <hasVNormals> is TRUE , you must use one of <br>
//!	AddVertex(Point,Normal) <br>
//!  or  AddVertex(Point,Normal,Color) <br>
//!  or  AddVertex(Point,Normal,Texel) methods. <br>
//! When <hasVColors> is TRUE , you must use one of <br>
//!	AddVertex(Point,Color) <br>
//!  or  AddVertex(Point,Normal,Color) methods. <br>
//! When <hasTexels> is TRUE , you must use one of <br>
//!	AddVertex(Point,Texel) <br>
//!  or  AddVertex(Point,Normal,Texel) methods. <br>
//! When <hasBColors> is TRUE , <maxBounds> must be > 0 and <br>
//!	you must use the <br>
//!	AddBound(number,Color) method. <br>
//! When <hasEdgeInfos> is TRUE , <maxEdges> must be > 0 and <br>
//!	you must use the <br>
//!	AddEdge(number,visibillity) method. <br>
//!  Warning: <br>
//! the user is responsible about the orientation of the polygon <br>
//! depending of the order of the created vertex or edges and this <br>
//! orientation must be coherent with the vertex normal optionnaly <br>
//! given at each vertex (See the Orientate() methods). <br>
  Standard_EXPORT   Graphic3d_ArrayOfPolygons(const Standard_Integer maxVertexs,const Standard_Integer maxBounds = 0,const Standard_Integer maxEdges = 0,const Standard_Boolean hasVNormals = Standard_False,const Standard_Boolean hasVColors = Standard_False,const Standard_Boolean hasBColors = Standard_False,const Standard_Boolean hasTexels = Standard_False,const Standard_Boolean hasEdgeInfos = Standard_False);




  DEFINE_STANDARD_RTTI(Graphic3d_ArrayOfPolygons)

protected:




private: 




};





// other Inline functions and methods (like "C++: function call" methods)


#endif