Version: 9.16.0
GEOMImpl_IPlane.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23//NOTE: This is an interface to a function for the vector creation.
24//
25#include "GEOM_Function.hxx"
26
27#define PLN_ARG_SIZE 1
28
29#define PLN_ARG_PNT1 2
30#define PLN_ARG_PNT2 3
31#define PLN_ARG_PNT3 4
32
33#define PLN_ARG_VEC 5
34
35#define PLN_ARG_REF 6
36
37#define PLN_ARG_PARAM_U 7
38
39#define PLN_ARG_PARAM_V 8
40
41#define PLN_ARG_VEC1 9
42#define PLN_ARG_VEC2 10
43
44#define PLN_ARG_ORIENT 11
45
46#define PLN_ARG_LCS 12
47
49{
50 public:
51
52 GEOMImpl_IPlane(Handle(GEOM_Function) theFunction): _func(theFunction) {}
53
54 void SetSize(double theSize) { _func->SetReal(PLN_ARG_SIZE, theSize); }
55
56 double GetSize() { return _func->GetReal(PLN_ARG_SIZE); }
57
58 void SetOrientation(double theOrientation) { _func->SetReal(PLN_ARG_ORIENT, theOrientation); }
59
60 double GetOrientation() { return _func->GetReal(PLN_ARG_ORIENT); }
61
62 void SetPoint (Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_PNT1, theRef); }
63 void SetVector(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_VEC , theRef); }
64 void SetVector1(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_VEC1 , theRef); }
65 void SetVector2(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_VEC2 , theRef); }
66
67 void SetFace (Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_REF , theRef); }
68 void SetLCS (Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_LCS , theRef); }
69
70 void SetPoint1(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_PNT1, theRef); }
71 void SetPoint2(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_PNT2, theRef); }
72 void SetPoint3(Handle(GEOM_Function) theRef) { _func->SetReference(PLN_ARG_PNT3, theRef); }
73
74 Handle(GEOM_Function) GetPoint () { return _func->GetReference(PLN_ARG_PNT1); }
75 Handle(GEOM_Function) GetVector() { return _func->GetReference(PLN_ARG_VEC ); }
76 Handle(GEOM_Function) GetVector1() { return _func->GetReference(PLN_ARG_VEC1 ); }
77 Handle(GEOM_Function) GetVector2() { return _func->GetReference(PLN_ARG_VEC2 ); }
78
79 Handle(GEOM_Function) GetFace () { return _func->GetReference(PLN_ARG_REF ); }
80 Handle(GEOM_Function) GetLCS () { return _func->GetReference(PLN_ARG_LCS ); }
81
82 Handle(GEOM_Function) GetPoint1() { return _func->GetReference(PLN_ARG_PNT1); }
83 Handle(GEOM_Function) GetPoint2() { return _func->GetReference(PLN_ARG_PNT2); }
84 Handle(GEOM_Function) GetPoint3() { return _func->GetReference(PLN_ARG_PNT3); }
85
86 void SetParameterU(double theParamU) { _func->SetReal(PLN_ARG_PARAM_U, theParamU); }
87 double GetParameterU() { return _func->GetReal(PLN_ARG_PARAM_U); }
88
89 void SetParameterV(double theParamV) { _func->SetReal(PLN_ARG_PARAM_V, theParamV); }
90 double GetParameterV() { return _func->GetReal(PLN_ARG_PARAM_V); }
91
92 private:
93
94 Handle(GEOM_Function) _func;
95};
#define PLN_ARG_VEC
Definition: GEOMImpl_IPlane.hxx:33
#define PLN_ARG_PARAM_V
Definition: GEOMImpl_IPlane.hxx:39
#define PLN_ARG_PNT2
Definition: GEOMImpl_IPlane.hxx:30
#define PLN_ARG_ORIENT
Definition: GEOMImpl_IPlane.hxx:44
#define PLN_ARG_PARAM_U
Definition: GEOMImpl_IPlane.hxx:37
#define PLN_ARG_REF
Definition: GEOMImpl_IPlane.hxx:35
#define PLN_ARG_PNT1
Definition: GEOMImpl_IPlane.hxx:29
#define PLN_ARG_SIZE
Definition: GEOMImpl_IPlane.hxx:27
#define PLN_ARG_VEC1
Definition: GEOMImpl_IPlane.hxx:41
#define PLN_ARG_LCS
Definition: GEOMImpl_IPlane.hxx:46
#define PLN_ARG_PNT3
Definition: GEOMImpl_IPlane.hxx:31
#define PLN_ARG_VEC2
Definition: GEOMImpl_IPlane.hxx:42
Definition: GEOMImpl_IPlane.hxx:49
Handle(GEOM_Function) GetVector2()
Definition: GEOMImpl_IPlane.hxx:77
void SetVector1(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:64
void SetParameterU(double theParamU)
Definition: GEOMImpl_IPlane.hxx:86
void SetParameterV(double theParamV)
Definition: GEOMImpl_IPlane.hxx:89
GEOMImpl_IPlane(Handle(GEOM_Function) theFunction)
Definition: GEOMImpl_IPlane.hxx:52
void SetPoint2(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:71
Handle(GEOM_Function) GetVector1()
Definition: GEOMImpl_IPlane.hxx:76
double GetParameterV()
Definition: GEOMImpl_IPlane.hxx:90
Handle(GEOM_Function) GetPoint2()
Definition: GEOMImpl_IPlane.hxx:83
Handle(GEOM_Function) GetPoint()
Definition: GEOMImpl_IPlane.hxx:74
void SetPoint3(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:72
void SetFace(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:67
Handle(GEOM_Function) GetPoint1()
Definition: GEOMImpl_IPlane.hxx:82
void SetPoint1(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:70
void SetVector2(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:65
Handle(GEOM_Function) GetVector()
Definition: GEOMImpl_IPlane.hxx:75
double GetSize()
Definition: GEOMImpl_IPlane.hxx:56
void SetSize(double theSize)
Definition: GEOMImpl_IPlane.hxx:54
void SetPoint(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:62
void SetVector(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:63
Handle(GEOM_Function) GetPoint3()
Definition: GEOMImpl_IPlane.hxx:84
Handle(GEOM_Function) GetFace()
Definition: GEOMImpl_IPlane.hxx:79
double GetParameterU()
Definition: GEOMImpl_IPlane.hxx:87
Handle(GEOM_Function) GetLCS()
Definition: GEOMImpl_IPlane.hxx:80
void SetOrientation(double theOrientation)
Definition: GEOMImpl_IPlane.hxx:58
void SetLCS(Handle(GEOM_Function) theRef)
Definition: GEOMImpl_IPlane.hxx:68
Handle(GEOM_Function) _func
double GetOrientation()
Definition: GEOMImpl_IPlane.hxx:60
Standard_EXPORT gp_Vec GetVector(const TopoDS_Shape &theShape, Standard_Boolean doConsiderOrientation)
Get vector, defined by the given edge.
Definition: GEOMUtils.cxx:296