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
|
// File: VrmlData_Faceted.hxx
// Created: 26.05.06 08:59:15
// Author: Alexander GRIGORIEV
// Copyright: Open Cascade 2006
#ifndef VrmlData_Faceted_HeaderFile
#define VrmlData_Faceted_HeaderFile
#include <VrmlData_Geometry.hxx>
/**
* Common API of faceted Geometry nodes: IndexedFaceSet, ElevationGrid,
* Extrusion.
*/
class VrmlData_Faceted : public VrmlData_Geometry
{
public:
// ---------- PUBLIC METHODS ----------
/**
* Empty constructor
*/
inline VrmlData_Faceted ()
: myCreaseAngle (0.),
myIsCCW (Standard_True),
myIsSolid (Standard_True),
myIsConvex (Standard_True)
{}
/**
* Empty constructor
*/
inline VrmlData_Faceted (const VrmlData_Scene& theScene,
const char * theName,
const Standard_Boolean isCCW,
const Standard_Boolean isSolid,
const Standard_Boolean isConvex,
const Standard_Real theCreaseAngle)
: VrmlData_Geometry (theScene, theName),
myCreaseAngle (theCreaseAngle),
myIsCCW (isCCW),
myIsSolid (isSolid),
myIsConvex (isConvex)
{}
/**
* Query "Is Counter-Clockwise" attribute
*/
inline Standard_Boolean IsCCW () const { return myIsCCW; }
/**
* Query "Is Solid" attribute
*/
inline Standard_Boolean IsSolid () const { return myIsSolid; }
/**
* Query "Is Convex" attribute
*/
inline Standard_Boolean IsConvex () const { return myIsConvex; }
/**
* Query the Crease Angle
*/
inline Standard_Real CreaseAngle () const { return myCreaseAngle; }
/**
* Set "Is Counter-Clockwise" attribute
*/
inline void SetCCW (const Standard_Boolean theValue)
{ myIsCCW = theValue; }
/**
* Set "Is Solid" attribute
*/
inline void SetSolid (const Standard_Boolean theValue)
{ myIsSolid = theValue; }
/**
* Set "Is Convex" attribute
*/
inline void SetConvex (const Standard_Boolean theValue)
{ myIsConvex = theValue; }
/**
* Set "Is Convex" attribute
*/
inline void SetCreaseAngle (const Standard_Real theValue)
{ myCreaseAngle = theValue; }
// ---------- PROTECTED METHODS ----------
protected:
Standard_EXPORT VrmlData_ErrorStatus
readData (VrmlData_InBuffer& theBuffer);
private:
// ---------- PRIVATE FIELDS ----------
Standard_Real myCreaseAngle;
Standard_Boolean myIsCCW : 1;
Standard_Boolean myIsSolid : 1;
Standard_Boolean myIsConvex : 1;
public:
// Declaration of CASCADE RTTI
DEFINE_STANDARD_RTTI (VrmlData_Faceted)
};
// Definition of HANDLE object using Standard_DefineHandle.hxx
DEFINE_STANDARD_HANDLE (VrmlData_Faceted, VrmlData_Geometry)
#endif
|