summaryrefslogtreecommitdiff
path: root/inc/IGESDraw_PerspectiveView.hxx
blob: c2bed8dd9e225d528d8f0e9a58894b1f466138bf (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
// 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 _IGESDraw_PerspectiveView_HeaderFile
#define _IGESDraw_PerspectiveView_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_IGESDraw_PerspectiveView_HeaderFile
#include <Handle_IGESDraw_PerspectiveView.hxx>
#endif

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _gp_XYZ_HeaderFile
#include <gp_XYZ.hxx>
#endif
#ifndef _gp_XY_HeaderFile
#include <gp_XY.hxx>
#endif
#ifndef _IGESData_ViewKindEntity_HeaderFile
#include <IGESData_ViewKindEntity.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_IGESData_ViewKindEntity_HeaderFile
#include <Handle_IGESData_ViewKindEntity.hxx>
#endif
#ifndef _Handle_IGESData_TransfEntity_HeaderFile
#include <Handle_IGESData_TransfEntity.hxx>
#endif
class Standard_OutOfRange;
class gp_XYZ;
class gp_XY;
class IGESData_ViewKindEntity;
class gp_Vec;
class gp_Pnt;
class gp_Pnt2d;
class IGESData_TransfEntity;


//! defines IGESPerspectiveView, Type <410> Form <1> <br>
//!          in package IGESDraw <br>
class IGESDraw_PerspectiveView : public IGESData_ViewKindEntity {

public:

  
  Standard_EXPORT   IGESDraw_PerspectiveView();
  //! This method is used to set the fields of the class <br>
//!           PerspectiveView <br>
//!       - aViewNumber         : The desired view <br>
//!       - aScaleFactor        : Scale factor <br>
//!       - aViewNormalVector   : View plane normal vector (model space) <br>
//!       - aViewReferencePoint : View reference point     (model space) <br>
//!       - aCenterOfProjection : Center Of Projection     (model space) <br>
//!       - aViewUpVector       : View up vector           (model space) <br>
//!       - aViewPlaneDistance  : View plane distance      (model space) <br>
//!       - aTopLeft            : Top-left point of clipping window <br>
//!       - aBottomRight        : Bottom-right point of clipping window <br>
//!       - aDepthClip          : Depth clipping indicator <br>
//!       - aBackPlaneDistance  : Distance of back clipping plane <br>
//!       - aFrontPlaneDistance : Distance of front clipping plane <br>
  Standard_EXPORT     void Init(const Standard_Integer aViewNumber,const Standard_Real aScaleFactor,const gp_XYZ& aViewNormalVector,const gp_XYZ& aViewReferencePoint,const gp_XYZ& aCenterOfProjection,const gp_XYZ& aViewUpVector,const Standard_Real aViewPlaneDistance,const gp_XY& aTopLeft,const gp_XY& aBottomRight,const Standard_Integer aDepthClip,const Standard_Real aBackPlaneDistance,const Standard_Real aFrontPlaneDistance) ;
  //! Returns True (for a single view) <br>
  Standard_EXPORT     Standard_Boolean IsSingle() const;
  //! Returns 1 (single view) <br>
  Standard_EXPORT     Standard_Integer NbViews() const;
  //! For a single view, returns <me> whatever <num> <br>
  Standard_EXPORT     Handle_IGESData_ViewKindEntity ViewItem(const Standard_Integer num) const;
  //! returns the view number associated with <me> <br>
  Standard_EXPORT     Standard_Integer ViewNumber() const;
  //! returns the scale factor associated with <me> <br>
  Standard_EXPORT     Standard_Real ScaleFactor() const;
  //! returns the View plane normal vector (model space) <br>
  Standard_EXPORT     gp_Vec ViewNormalVector() const;
  //! returns the View reference point (model space) <br>
  Standard_EXPORT     gp_Pnt ViewReferencePoint() const;
  //! returns the Center Of Projection (model space) <br>
  Standard_EXPORT     gp_Pnt CenterOfProjection() const;
  //! returns the View up vector (model space) <br>
  Standard_EXPORT     gp_Vec ViewUpVector() const;
  //! returns the View plane distance (model space) <br>
  Standard_EXPORT     Standard_Real ViewPlaneDistance() const;
  //! returns the top left point of the clipping window <br>
  Standard_EXPORT     gp_Pnt2d TopLeft() const;
  //! returns the bottom right point of the clipping window <br>
  Standard_EXPORT     gp_Pnt2d BottomRight() const;
  //! returns the Depth clipping indicator <br>
//!     0 = No depth clipping <br>
//!     1 = Back clipping plane ON <br>
//!     2 = Front clipping plane ON <br>
//!     3 = Back and front clipping planes ON <br>
  Standard_EXPORT     Standard_Integer DepthClip() const;
  //! returns the View coordinate denoting the location of <br>
//! the back clipping plane <br>
  Standard_EXPORT     Standard_Real BackPlaneDistance() const;
  //! returns the View coordinate denoting the location of <br>
//! the front clipping plane <br>
  Standard_EXPORT     Standard_Real FrontPlaneDistance() const;
  //! returns the Transformation Matrix <br>
  Standard_EXPORT     Handle_IGESData_TransfEntity ViewMatrix() const;
  //! returns XYX from the Model space to the View space by <br>
//! applying the View Matrix <br>
  Standard_EXPORT     gp_XYZ ModelToView(const gp_XYZ& coords) const;




  DEFINE_STANDARD_RTTI(IGESDraw_PerspectiveView)

protected:




private: 


Standard_Integer theViewNumber;
Standard_Real theScaleFactor;
gp_XYZ theViewNormalVector;
gp_XYZ theViewReferencePoint;
gp_XYZ theCenterOfProjection;
gp_XYZ theViewUpVector;
Standard_Real theViewPlaneDistance;
gp_XY theTopLeft;
gp_XY theBottomRight;
Standard_Integer theDepthClip;
Standard_Real theBackPlaneDistance;
Standard_Real theFrontPlaneDistance;


};





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


#endif