summaryrefslogtreecommitdiff
path: root/inc/V3d_Light.hxx
blob: 2602a07ead0cbec710c0e794aa9f7959254d714d (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
// 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 _V3d_Light_HeaderFile
#define _V3d_Light_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_V3d_Light_HeaderFile
#include <Handle_V3d_Light.hxx>
#endif

#ifndef _V3d_TypeOfLight_HeaderFile
#include <V3d_TypeOfLight.hxx>
#endif
#ifndef _Handle_Visual3d_Light_HeaderFile
#include <Handle_Visual3d_Light.hxx>
#endif
#ifndef _Handle_Graphic3d_Structure_HeaderFile
#include <Handle_Graphic3d_Structure.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Handle_V3d_Light_HeaderFile
#include <Handle_V3d_Light.hxx>
#endif
#ifndef _V3d_View_HeaderFile
#include <V3d_View.hxx>
#endif
#ifndef _Handle_V3d_Viewer_HeaderFile
#include <Handle_V3d_Viewer.hxx>
#endif
#ifndef _Quantity_TypeOfColor_HeaderFile
#include <Quantity_TypeOfColor.hxx>
#endif
#ifndef _Quantity_Parameter_HeaderFile
#include <Quantity_Parameter.hxx>
#endif
#ifndef _Quantity_NameOfColor_HeaderFile
#include <Quantity_NameOfColor.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_V3d_View_HeaderFile
#include <Handle_V3d_View.hxx>
#endif
#ifndef _V3d_Coordinate_HeaderFile
#include <V3d_Coordinate.hxx>
#endif
class Visual3d_Light;
class Graphic3d_Structure;
class Viewer_BadValue;
class V3d_Viewer;
class Quantity_Color;
class V3d_View;
class Graphic3d_Vertex;


//! Defines services on Light type objects.. <br>
class V3d_Light : public MMgt_TShared {

public:

  //! Defines the colour of a light source <br>
//!          according to the type of colour definition <br>
//!          and the three corresponding values. <br>
  Standard_EXPORT     void SetColor(const Quantity_TypeOfColor Type,const Quantity_Parameter V1,const Quantity_Parameter V2,const Quantity_Parameter V3) ;
  //! Defines the colour of a light source by giving <br>
//!	    the name of the colour in the form Quantity_NOC_xxxx . <br>
  Standard_EXPORT     void SetColor(const Quantity_NameOfColor Name) ;
  //! Defines the colour of a light source by giving <br>
//!	    the basic colour. <br>
  Standard_EXPORT     void SetColor(const Quantity_Color& Name) ;
  //! Returns the colour of the light source depending of <br>
//!	    the color type. <br>
  Standard_EXPORT     void Color(const Quantity_TypeOfColor Type,Quantity_Parameter& V1,Quantity_Parameter& V2,Quantity_Parameter& V3) const;
  //! Returns the colour of the light source. <br>
  Standard_EXPORT     void Color(Quantity_NameOfColor& Name) const;
  //! Returns the colour of the light source. <br>
  Standard_EXPORT     Quantity_Color Color() const;
  //! Returns the Type of the Light <br>
  Standard_EXPORT     V3d_TypeOfLight Type() const;
  //! returns true if the light is a headlight <br>
  Standard_EXPORT     Standard_Boolean Headlight() const;
  //! Returns TRUE when a light representation is displayed <br>
  Standard_EXPORT     Standard_Boolean IsDisplayed() const;


friend   //! Activates MyLight in the view. <br>
  Standard_EXPORT   void V3d_View::SetLightOn(const Handle(V3d_Light)& MyLight) ;
friend   //! Activates all the lights defined in this view. <br>
  Standard_EXPORT   void V3d_View::SetLightOn() ;
friend   //! Desactivate MyLight in this view. <br>
  Standard_EXPORT   void V3d_View::SetLightOff(const Handle(V3d_Light)& MyLight) ;
friend   //! Deactivate all the Lights defined in this view. <br>
  Standard_EXPORT   void V3d_View::SetLightOff() ;


  DEFINE_STANDARD_RTTI(V3d_Light)

protected:

  
  Standard_EXPORT   V3d_Light(const Handle(V3d_Viewer)& VM);
  //! Returns the symetric point coordinates of "aPoint" <br>
//!          on the sphere of center "Center" and radius "Radius". <br>
//!          VX,VY,VZ is the project vector of view. <br>
  Standard_EXPORT   static  void SymetricPointOnSphere(const Handle(V3d_View)& aView,const Graphic3d_Vertex& Center,const Graphic3d_Vertex& aPoint,const Quantity_Parameter Radius,V3d_Coordinate& X,V3d_Coordinate& Y,V3d_Coordinate& Z,Quantity_Parameter& VX,Quantity_Parameter& VY,Quantity_Parameter& VZ) ;

V3d_TypeOfLight MyType;
Handle_Visual3d_Light MyLight;
Handle_Graphic3d_Structure MyGraphicStructure;
Handle_Graphic3d_Structure MyGraphicStructure1;


private: 

  //! Returns the Light of the associated Visual3d. <br>
  Standard_EXPORT     Handle_Visual3d_Light Light() const;



};





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


#endif