blob: 8830d7fd8375d84dcde50ae819c729a5a6e75417 (
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
|
// 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 _Vrml_SpotLight_HeaderFile
#define _Vrml_SpotLight_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Quantity_Color_HeaderFile
#include <Quantity_Color.hxx>
#endif
#ifndef _gp_Vec_HeaderFile
#include <gp_Vec.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class Quantity_Color;
class gp_Vec;
//! specifies a spot light node of VRML nodes specifying <br>
//! properties of lights. <br>
//! This node defines a spotlight light source. <br>
//! A spotlight is placed at a fixed location in 3D-space <br>
//! and illuminates in a cone along a particular direction. <br>
//! The intensity of the illumination drops off exponentially <br>
//! as a ray of light diverges from this direction toward <br>
//! the edges of cone. <br>
//! The rate of drop-off and agle of the cone are controlled <br>
//! by the dropOfRate and cutOffAngle <br>
//! Color is written as an RGB triple. <br>
//! Light intensity must be in the range 0.0 to 1.0, inclusive. <br>
class Vrml_SpotLight {
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
Standard_EXPORT Vrml_SpotLight();
Standard_EXPORT Vrml_SpotLight(const Standard_Boolean aOnOff,const Standard_Real aIntensity,const Quantity_Color& aColor,const gp_Vec& aLocation,const gp_Vec& aDirection,const Standard_Real aDropOffRate,const Standard_Real aCutOffAngle);
Standard_EXPORT void SetOnOff(const Standard_Boolean anOnOff) ;
Standard_EXPORT Standard_Boolean OnOff() const;
Standard_EXPORT void SetIntensity(const Standard_Real aIntensity) ;
Standard_EXPORT Standard_Real Intensity() const;
Standard_EXPORT void SetColor(const Quantity_Color& aColor) ;
Standard_EXPORT Quantity_Color Color() const;
Standard_EXPORT void SetLocation(const gp_Vec& aLocation) ;
Standard_EXPORT gp_Vec Location() const;
Standard_EXPORT void SetDirection(const gp_Vec& aDirection) ;
Standard_EXPORT gp_Vec Direction() const;
Standard_EXPORT void SetDropOffRate(const Standard_Real aDropOffRate) ;
Standard_EXPORT Standard_Real DropOffRate() const;
Standard_EXPORT void SetCutOffAngle(const Standard_Real aCutOffAngle) ;
Standard_EXPORT Standard_Real CutOffAngle() const;
Standard_EXPORT Standard_OStream& Print(Standard_OStream& anOStream) const;
protected:
private:
Standard_Boolean myOnOff;
Standard_Real myIntensity;
Quantity_Color myColor;
gp_Vec myLocation;
gp_Vec myDirection;
Standard_Real myDropOffRate;
Standard_Real myCutOffAngle;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|