summaryrefslogtreecommitdiff
path: root/inc/V3d_PerspectiveView.hxx
blob: 6781576aff9254038315a06876267a4e5f11610c (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
// 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_PerspectiveView_HeaderFile
#define _V3d_PerspectiveView_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_V3d_PerspectiveView_HeaderFile
#include <Handle_V3d_PerspectiveView.hxx>
#endif

#ifndef _V3d_View_HeaderFile
#include <V3d_View.hxx>
#endif
#ifndef _Handle_V3d_Viewer_HeaderFile
#include <Handle_V3d_Viewer.hxx>
#endif
#ifndef _Handle_V3d_OrthographicView_HeaderFile
#include <Handle_V3d_OrthographicView.hxx>
#endif
#ifndef _Quantity_PlaneAngle_HeaderFile
#include <Quantity_PlaneAngle.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class Viewer_BadValue;
class V3d_Viewer;
class V3d_OrthographicView;


//! Creates and modifies a perspective <br>
//!           See the methods of the class View <br>
class V3d_PerspectiveView : public V3d_View {

public:

  //! Defines a perspective view in a viewer VM. <br>
//!          The default angle of opening is given <br>
//!          by the viewer. <br>
  Standard_EXPORT   V3d_PerspectiveView(const Handle(V3d_Viewer)& VM);
  //! Creates a perspective view from the parameters <br>
//!	    of an orthographic view. <br>
//!          The parameters of the original view are duplicated <br>
//!          in the resulting view (Projection,Mapping,Context) . <br>
//!          The view thus created must be activated in a new window. <br>
//!          The default angle of opening is given <br>
//!          by the viewer. <br>
  Standard_EXPORT   V3d_PerspectiveView(const Handle(V3d_Viewer)& VM,const Handle(V3d_OrthographicView)& V);
  //! Creates one perspective view from another. <br>
//!          The parameters of the original view are duplicated <br>
//!          in the resulting view (Projection,Mapping,Context) . <br>
//!          The view thus created must be activated in a new window. <br>
  Standard_EXPORT   V3d_PerspectiveView(const Handle(V3d_Viewer)& VM,const Handle(V3d_PerspectiveView)& V);
  
  Standard_EXPORT     Handle_V3d_PerspectiveView Copy() const;
  //! Modifies the angle of opening of the perspective in RADIANS. <br>
//!	    The projection window is resized according to the <br>
//!	    formula : <br>
//!	    TAN(Angle/2) = Size/Length <br>
//!	    	Size expresses the smallest dimension of the window. <br>
//!	        Length expresses the focal length. <br>//!  Warning! raises BadValue from Viewer <br>
//!	    if the opening angle is <= 0 or >= PI <br>
  Standard_EXPORT     void SetAngle(const Quantity_PlaneAngle Angle) ;
  //! Returns the value of the angle of opening. <br>
  Standard_EXPORT     Quantity_PlaneAngle Angle() const;
  //! Modifies the viewing perspective volume by given <br>
//!		angle of opening of the perspective in RADIANS, <br>
//!      aspect ratio of window width to its height and <br>
//!      near and far clipping planes <br>
  Standard_EXPORT     void SetPerspective(const Quantity_PlaneAngle Angle,const Standard_Real UVRatio,const Standard_Real ZNear,const Standard_Real ZFar) ;




  DEFINE_STANDARD_RTTI(V3d_PerspectiveView)

protected:




private: 




};





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


#endif