summaryrefslogtreecommitdiff
path: root/inc/V3d.hxx
blob: 2d0e9714b8dc173bd3740b47772eccc67e170da5 (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
148
149
150
151
152
153
154
155
156
157
158
159
160
// 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_HeaderFile
#define _V3d_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _V3d_TypeOfOrientation_HeaderFile
#include <V3d_TypeOfOrientation.hxx>
#endif
#ifndef _Handle_Graphic3d_Group_HeaderFile
#include <Handle_Graphic3d_Group.hxx>
#endif
#ifndef _V3d_Coordinate_HeaderFile
#include <V3d_Coordinate.hxx>
#endif
#ifndef _V3d_Parameter_HeaderFile
#include <V3d_Parameter.hxx>
#endif
#ifndef _Quantity_PlaneAngle_HeaderFile
#include <Quantity_PlaneAngle.hxx>
#endif
#ifndef _Handle_V3d_View_HeaderFile
#include <Handle_V3d_View.hxx>
#endif
#ifndef _Handle_V3d_Viewer_HeaderFile
#include <Handle_V3d_Viewer.hxx>
#endif
#ifndef _Quantity_Length_HeaderFile
#include <Quantity_Length.hxx>
#endif
class Graphic3d_Vector;
class Graphic3d_Group;
class V3d_View;
class V3d_Viewer;
class V3d_Viewer;
class V3d_View;
class V3d_OrthographicView;
class V3d_PerspectiveView;
class V3d_LayerMgr;
class V3d_Light;
class V3d_AmbientLight;
class V3d_PositionLight;
class V3d_PositionalLight;
class V3d_DirectionalLight;
class V3d_SpotLight;
class V3d_Camera;
class V3d_Plane;
class V3d_ListOfTransient;
class V3d_RectangularGrid;
class V3d_CircularGrid;
class V3d_ColorScale;
class V3d_ColorScaleLayerItem;


//! This package contains the set of commands and services <br>
//!          of the 3D Viewer. It provides a set of high level commands <br>
//!          to control the views and viewing modes. This package is <br>
//!          complementary to the Visual3D graphic package. <br>
//!    Warning <br>
//! The CSF_WALKTHROUGH variable enables you to <br>
//! manage the perspective of the view in the viewer by <br>
//! defining setenv CSF_WALKTHROUGH "Yes". <br>
//! If you use the syntax unsetenv <br>
//! CSF_WALKTHROUGH, you undefine the variable <br>
//! (you make sure that the variable is deactivated). In <br>
//! this case, the eye is located outside the 3D bounding <br>
//! box of the view. This is the default behavior for <br>
//! managing the view perspective. <br>
class V3d  {
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); 
  }

  //! Determines the orientation vector corresponding <br>
//!          to the predefined orientation type. <br>
  Standard_EXPORT   static  Graphic3d_Vector GetProjAxis(const V3d_TypeOfOrientation Orientation) ;
  //! Compute the graphic structure of arrow. <br>
//!          X0,Y0,Z0 : coordinate of the arrow. <br>
//!          DX,DY,DZ : Direction of the arrow. <br>
//!          Alpha    : Angle of arrow. <br>
//!          Lng      : Length of arrow. <br>
  Standard_EXPORT   static  void ArrowOfRadius(const Handle(Graphic3d_Group)& garrow,const V3d_Coordinate X0,const V3d_Coordinate Y0,const V3d_Coordinate Z0,const V3d_Parameter DX,const V3d_Parameter DY,const V3d_Parameter DZ,const Quantity_PlaneAngle Alpha,const V3d_Parameter Lng) ;
  //! Compute the graphic structure of circle. <br>
//!          X0,Y0,Z0 : Center of circle. <br>
//!          VX,VY,VZ : Axis of circle. <br>
//!          Radius   : Radius of circle. <br>
  Standard_EXPORT   static  void CircleInPlane(const Handle(Graphic3d_Group)& gcircle,const V3d_Coordinate X0,const V3d_Coordinate Y0,const V3d_Coordinate Z0,const V3d_Parameter VX,const V3d_Parameter VY,const V3d_Parameter VZ,const V3d_Parameter Radius) ;
  
  Standard_EXPORT   static  void SwitchViewsinWindow(const Handle(V3d_View)& aPreviousView,const Handle(V3d_View)& aNextView) ;
  //! test. <br>
  Standard_EXPORT   static  void DrawSphere(const Handle(V3d_Viewer)& aViewer,const Quantity_Length aRadius = 1000) ;
  //! test. <br>
  Standard_EXPORT   static  void PickGrid(const Handle(V3d_Viewer)& aViewer,const Quantity_Length aRadius = 1000) ;
  //! test. <br>
  Standard_EXPORT   static  void SetPlane(const Handle(V3d_Viewer)& aViewer,const Quantity_Length x1,const Quantity_Length y1,const Quantity_Length z1,const Quantity_Length x2,const Quantity_Length y2,const Quantity_Length z2) ;





protected:





private:




friend class V3d_Viewer;
friend class V3d_View;
friend class V3d_OrthographicView;
friend class V3d_PerspectiveView;
friend class V3d_LayerMgr;
friend class V3d_Light;
friend class V3d_AmbientLight;
friend class V3d_PositionLight;
friend class V3d_PositionalLight;
friend class V3d_DirectionalLight;
friend class V3d_SpotLight;
friend class V3d_Camera;
friend class V3d_Plane;
friend class V3d_ListOfTransient;
friend class V3d_RectangularGrid;
friend class V3d_CircularGrid;
friend class V3d_ColorScale;
friend class V3d_ColorScaleLayerItem;

};





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


#endif