summaryrefslogtreecommitdiff
path: root/inc/StdPrs_Curve.hxx
blob: 743a164115e4b8b2378381bab0f03f9c9dc84aaa (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 _StdPrs_Curve_HeaderFile
#define _StdPrs_Curve_HeaderFile

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

#ifndef _Prs3d_Root_HeaderFile
#include <Prs3d_Root.hxx>
#endif
#ifndef _Handle_Prs3d_Presentation_HeaderFile
#include <Handle_Prs3d_Presentation.hxx>
#endif
#ifndef _Handle_Prs3d_Drawer_HeaderFile
#include <Handle_Prs3d_Drawer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Quantity_Length_HeaderFile
#include <Quantity_Length.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Prs3d_Presentation;
class Adaptor3d_Curve;
class Prs3d_Drawer;
class TColgp_SequenceOfPnt;


//! A framework to define display of lines, arcs of circles <br>
//! and conic sections. <br>
//! This is done with a fixed number of points, which can be modified. <br>
class StdPrs_Curve  : public Prs3d_Root {
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); 
  }

  //! Adds to the presentation aPresentation the drawing of the curve aCurve. <br>
//!          The aspect is defined by LineAspect in aDrawer. <br>
//!          If drawCurve equals Standard_False the curve will not be displayed, <br>
//!          it is used if the curve is a part of some shape and PrimitiveArray <br>
//!          visualization approach is activated (it is activated by default). <br>
  Standard_EXPORT   static  void Add(const Handle(Prs3d_Presentation)& aPresentation,const Adaptor3d_Curve& aCurve,const Handle(Prs3d_Drawer)& aDrawer,const Standard_Boolean drawCurve = Standard_True) ;
  //! Adds to the presentation aPresentation the drawing of the curve aCurve. <br>
//!          The aspect is defined by LineAspect in aDrawer. <br>
//!          The drawing will be limited between the points of parameter U1 and U2. <br>
//!          If drawCurve equals Standard_False the curve will not be displayed, <br>
//!          it is used if the curve is a part of some shape and PrimitiveArray <br>
//!          visualization approach is activated (it is activated by default). <br>
  Standard_EXPORT   static  void Add(const Handle(Prs3d_Presentation)& aPresentation,const Adaptor3d_Curve& aCurve,const Standard_Real U1,const Standard_Real U2,const Handle(Prs3d_Drawer)& aDrawer,const Standard_Boolean drawCurve = Standard_True) ;
  //! adds to the presentation aPresentation the drawing of the curve aCurve. <br>
//!          The aspect is the current aspect. <br>
//!          aDeflection is used in the circle case. <br>
//!          Points give a sequence of curve points. <br>
//!          If drawCurve equals Standard_False the curve will not be displayed, <br>
//!          it is used if the curve is a part of some shape and PrimitiveArray <br>
//!          visualization approach is activated (it is activated by default). <br>
  Standard_EXPORT   static  void Add(const Handle(Prs3d_Presentation)& aPresentation,const Adaptor3d_Curve& aCurve,const Quantity_Length aDeflection,const Handle(Prs3d_Drawer)& aDrawer,TColgp_SequenceOfPnt& Points,const Standard_Boolean drawCurve = Standard_True) ;
  //! adds to the presentation aPresentation the drawing of the curve <br>
//!          aCurve. <br>
//!          The aspect is the current aspect. <br>
//!          The drawing will be limited between the points of parameter <br>
//!          U1 and U2. <br>
//!          aDeflection is used in the circle case. <br>
//!          Points give a sequence of curve points. <br>
//!          If drawCurve equals Standard_False the curve will not be displayed, <br>
//!          it is used if the curve is a part of some shape and PrimitiveArray <br>
//!          visualization approach is activated (it is activated by default). <br>
  Standard_EXPORT   static  void Add(const Handle(Prs3d_Presentation)& aPresentation,const Adaptor3d_Curve& aCurve,const Standard_Real U1,const Standard_Real U2,const Quantity_Length aDeflection,TColgp_SequenceOfPnt& Points,const Standard_Integer aNbPoints = 30,const Standard_Boolean drawCurve = Standard_True) ;
  //! returns true if the distance between the point (X,Y,Z) and the <br>
//!          drawing of the curve is less than aDistance. <br>
  Standard_EXPORT   static  Standard_Boolean Match(const Quantity_Length X,const Quantity_Length Y,const Quantity_Length Z,const Quantity_Length aDistance,const Adaptor3d_Curve& aCurve,const Handle(Prs3d_Drawer)& aDrawer) ;
  //! returns true if the distance between the point (X,Y,Z) and the <br>
//!          drawing of the curve is less than aDistance. <br>
  Standard_EXPORT   static  Standard_Boolean Match(const Quantity_Length X,const Quantity_Length Y,const Quantity_Length Z,const Quantity_Length aDistance,const Adaptor3d_Curve& aCurve,const Quantity_Length aDeflection,const Standard_Real aLimit,const Standard_Integer aNbPoints) ;
  //! returns true if the distance between the point (X,Y,Z) and the <br>
//!          drawing of the curve aCurve is less than aDistance. <br>
//!          The drawing is considered between the points <br>
//!          of parameter U1 and U2; <br>
  Standard_EXPORT   static  Standard_Boolean Match(const Quantity_Length X,const Quantity_Length Y,const Quantity_Length Z,const Quantity_Length aDistance,const Adaptor3d_Curve& aCurve,const Standard_Real U1,const Standard_Real U2,const Handle(Prs3d_Drawer)& aDrawer) ;
  //! returns true if the distance between the point (X,Y,Z) and the <br>
//!          drawing of the curve aCurve is less than aDistance. <br>
//!          The drawing is considered between the points <br>
//!          of parameter U1 and U2; <br>
  Standard_EXPORT   static  Standard_Boolean Match(const Quantity_Length X,const Quantity_Length Y,const Quantity_Length Z,const Quantity_Length aDistance,const Adaptor3d_Curve& aCurve,const Standard_Real U1,const Standard_Real U2,const Quantity_Length aDeflection,const Standard_Integer aNbPoints) ;





protected:





private:





};





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


#endif