summaryrefslogtreecommitdiff
path: root/inc/Contap_ContAna.hxx
blob: ba80df751bed3f88a9b5910455913dab331b7223 (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
// 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 _Contap_ContAna_HeaderFile
#define _Contap_ContAna_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_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _GeomAbs_CurveType_HeaderFile
#include <GeomAbs_CurveType.hxx>
#endif
#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
#endif
#ifndef _gp_Dir_HeaderFile
#include <gp_Dir.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _gp_Circ_HeaderFile
#include <gp_Circ.hxx>
#endif
class StdFail_NotDone;
class Standard_DomainError;
class Standard_OutOfRange;
class gp_Sphere;
class gp_Dir;
class gp_Pnt;
class gp_Cylinder;
class gp_Cone;
class gp_Lin;


//! This class provides the computation of the contours <br>
//!          for quadric surfaces. <br>
class Contap_ContAna  {
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   Contap_ContAna();
  
  Standard_EXPORT     void Perform(const gp_Sphere& S,const gp_Dir& D) ;
  
  Standard_EXPORT     void Perform(const gp_Sphere& S,const gp_Dir& D,const Standard_Real Ang) ;
  
  Standard_EXPORT     void Perform(const gp_Sphere& S,const gp_Pnt& Eye) ;
  
  Standard_EXPORT     void Perform(const gp_Cylinder& C,const gp_Dir& D) ;
  
  Standard_EXPORT     void Perform(const gp_Cylinder& C,const gp_Dir& D,const Standard_Real Ang) ;
  
  Standard_EXPORT     void Perform(const gp_Cylinder& C,const gp_Pnt& Eye) ;
  
  Standard_EXPORT     void Perform(const gp_Cone& C,const gp_Dir& D) ;
  
  Standard_EXPORT     void Perform(const gp_Cone& C,const gp_Dir& D,const Standard_Real Ang) ;
  
  Standard_EXPORT     void Perform(const gp_Cone& C,const gp_Pnt& Eye) ;
  
        Standard_Boolean IsDone() const;
  
        Standard_Integer NbContours() const;
  //! Returns GeomAbs_Line or GeomAbs_Circle, when <br>
//!          IsDone() returns True. <br>
        GeomAbs_CurveType TypeContour() const;
  
        gp_Circ Circle() const;
  
  Standard_EXPORT     gp_Lin Line(const Standard_Integer Index) const;





protected:





private:



Standard_Boolean done;
Standard_Integer nbSol;
GeomAbs_CurveType typL;
gp_Pnt pt1;
gp_Pnt pt2;
gp_Pnt pt3;
gp_Pnt pt4;
gp_Dir dir1;
gp_Dir dir2;
gp_Dir dir3;
gp_Dir dir4;
Standard_Real prm;


};


#include <Contap_ContAna.lxx>



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


#endif