summaryrefslogtreecommitdiff
path: root/inc/ChFiDS_FilSpine.hxx
blob: 7bca478d35a77e42e9193b265442dc43b82c09e4 (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
// 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 _ChFiDS_FilSpine_HeaderFile
#define _ChFiDS_FilSpine_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_ChFiDS_FilSpine_HeaderFile
#include <Handle_ChFiDS_FilSpine.hxx>
#endif

#ifndef _TColgp_SequenceOfXY_HeaderFile
#include <TColgp_SequenceOfXY.hxx>
#endif
#ifndef _Law_Laws_HeaderFile
#include <Law_Laws.hxx>
#endif
#ifndef _ChFiDS_Spine_HeaderFile
#include <ChFiDS_Spine.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Law_Function_HeaderFile
#include <Handle_Law_Function.hxx>
#endif
#ifndef _Handle_Law_Composite_HeaderFile
#include <Handle_Law_Composite.hxx>
#endif
#ifndef _Handle_ChFiDS_HElSpine_HeaderFile
#include <Handle_ChFiDS_HElSpine.hxx>
#endif
class TopoDS_Edge;
class TopoDS_Vertex;
class gp_XY;
class Law_Function;
class Law_Composite;
class ChFiDS_HElSpine;


//! Provides  data specific to  the fillets - <br>
//!          vector or rule  of evolution (C2). <br>
//! <br>
class ChFiDS_FilSpine : public ChFiDS_Spine {

public:

  
  Standard_EXPORT   ChFiDS_FilSpine();
  
  Standard_EXPORT   ChFiDS_FilSpine(const Standard_Real Tol);
  
  Standard_EXPORT   virtual  void Reset(const Standard_Boolean AllData = Standard_False) ;
  //! initializes the constant vector on edge E. <br>
  Standard_EXPORT     void SetRadius(const Standard_Real Radius,const TopoDS_Edge& E) ;
  //! resets the constant vector  on   edge E. <br>
  Standard_EXPORT     void UnSetRadius(const TopoDS_Edge& E) ;
  //! initializes the  vector on Vertex V. <br>
  Standard_EXPORT     void SetRadius(const Standard_Real Radius,const TopoDS_Vertex& V) ;
  //! resets the vector on Vertex V. <br>
  Standard_EXPORT     void UnSetRadius(const TopoDS_Vertex& V) ;
  //! initializes the vector on the point of parameter W. <br>
  Standard_EXPORT     void SetRadius(const gp_XY& UandR,const Standard_Integer IinC) ;
  //! initializes the constant vector on all spine. <br>
  Standard_EXPORT     void SetRadius(const Standard_Real Radius) ;
  //! initializes the rule of evolution on all spine. <br>
  Standard_EXPORT     void SetRadius(const Handle(Law_Function)& C,const Standard_Integer IinC) ;
  //! returns true if the radius is constant <br>
//!          all along the spine. <br>
  Standard_EXPORT     Standard_Boolean IsConstant() const;
  //! returns true if the radius is constant <br>
//!          all along the edge E. <br>
  Standard_EXPORT     Standard_Boolean IsConstant(const Standard_Integer IE) const;
  //! returns the radius if the fillet is constant <br>
//!          all along the spine. <br>
  Standard_EXPORT     Standard_Real Radius() const;
  //! returns the radius if the fillet is constant <br>
//!          all along the edge E. <br>
  Standard_EXPORT     Standard_Real Radius(const Standard_Integer IE) const;
  //! returns the radius if the fillet is constant <br>
//!          all along the edge E. <br>
  Standard_EXPORT     Standard_Real Radius(const TopoDS_Edge& E) const;
  
  Standard_EXPORT   virtual  void AppendElSpine(const Handle(ChFiDS_HElSpine)& Els) ;
  
  Standard_EXPORT     Handle_Law_Composite Law(const Handle(ChFiDS_HElSpine)& Els) const;
  //! returns the elementary law <br>
  Standard_EXPORT     Handle_Law_Function& ChangeLaw(const TopoDS_Edge& E) ;
  //! returns the maximum radius if the fillet is non-constant <br>
  Standard_EXPORT     Standard_Real MaxRadFromSeqAndLaws() const;




  DEFINE_STANDARD_RTTI(ChFiDS_FilSpine)

protected:




private: 

  
  Standard_EXPORT     Handle_Law_Composite ComputeLaw(const Handle(ChFiDS_HElSpine)& Els) ;
  
  Standard_EXPORT     void AppendLaw(const Handle(ChFiDS_HElSpine)& Els) ;

TColgp_SequenceOfXY parandrad;
Law_Laws laws;


};





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


#endif