Version: 9.16.0
GEOMImpl_IProjOnCyl.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 Projection on cylinder creation.
24
25#include "GEOM_Function.hxx"
26
27#define PROJCYL_ARG_SHAPE 1
28#define PROJCYL_ARG_RADIUS 2
29#define PROJCYL_ARG_START_ANGLE 3
30#define PROJCYL_ARG_ANGLE_LENGTH 4
31#define PROJCYL_ARG_ANGLE_ROTATION 5
32
34{
35
36public:
37
38 GEOMImpl_IProjOnCyl(Handle(GEOM_Function) theFunction): _func(theFunction) {}
39
40 void SetShape (const Handle(GEOM_Function) &theShape)
41 { _func->SetReference(PROJCYL_ARG_SHAPE, theShape); }
42 void SetRadius (const Standard_Real theRadius)
43 { _func->SetReal(PROJCYL_ARG_RADIUS, theRadius); }
44 void SetStartAngle (const Standard_Real theStartAngle)
45 { _func->SetReal(PROJCYL_ARG_START_ANGLE, theStartAngle); }
46 void SetAngleLength (const Standard_Real theAngleLength)
47 { _func->SetReal(PROJCYL_ARG_ANGLE_LENGTH, theAngleLength); }
48 void SetAngleRotation (const Standard_Real theAngleLength)
49 { _func->SetReal(PROJCYL_ARG_ANGLE_ROTATION, theAngleLength); }
50
51 Handle(GEOM_Function) GetShape()
52 { return _func->GetReference(PROJCYL_ARG_SHAPE); }
53 Standard_Real GetRadius()
54 { return _func->GetReal(PROJCYL_ARG_RADIUS ); }
55 Standard_Real GetStartAngle()
56 { return _func->GetReal(PROJCYL_ARG_START_ANGLE ); }
57 Standard_Real GetAngleLength()
58 { return _func->GetReal(PROJCYL_ARG_ANGLE_LENGTH ); }
59 Standard_Real GetAngleRotation()
60 { return _func->GetReal(PROJCYL_ARG_ANGLE_ROTATION ); }
61
62 private:
63
64 Handle(GEOM_Function) _func;
65
66};
#define PROJCYL_ARG_RADIUS
Definition: GEOMImpl_IProjOnCyl.hxx:28
#define PROJCYL_ARG_ANGLE_LENGTH
Definition: GEOMImpl_IProjOnCyl.hxx:30
#define PROJCYL_ARG_ANGLE_ROTATION
Definition: GEOMImpl_IProjOnCyl.hxx:31
#define PROJCYL_ARG_START_ANGLE
Definition: GEOMImpl_IProjOnCyl.hxx:29
#define PROJCYL_ARG_SHAPE
Definition: GEOMImpl_IProjOnCyl.hxx:27
Definition: GEOMImpl_IProjOnCyl.hxx:34
void SetRadius(const Standard_Real theRadius)
Definition: GEOMImpl_IProjOnCyl.hxx:42
void SetStartAngle(const Standard_Real theStartAngle)
Definition: GEOMImpl_IProjOnCyl.hxx:44
Standard_Real GetRadius()
Definition: GEOMImpl_IProjOnCyl.hxx:53
void SetShape(const Handle(GEOM_Function) &theShape)
Definition: GEOMImpl_IProjOnCyl.hxx:40
Standard_Real GetStartAngle()
Definition: GEOMImpl_IProjOnCyl.hxx:55
void SetAngleLength(const Standard_Real theAngleLength)
Definition: GEOMImpl_IProjOnCyl.hxx:46
Standard_Real GetAngleLength()
Definition: GEOMImpl_IProjOnCyl.hxx:57
Handle(GEOM_Function) GetShape()
Definition: GEOMImpl_IProjOnCyl.hxx:51
GEOMImpl_IProjOnCyl(Handle(GEOM_Function) theFunction)
Definition: GEOMImpl_IProjOnCyl.hxx:38
Handle(GEOM_Function) _func
void SetAngleRotation(const Standard_Real theAngleLength)
Definition: GEOMImpl_IProjOnCyl.hxx:48
Standard_Real GetAngleRotation()
Definition: GEOMImpl_IProjOnCyl.hxx:59