Version: 8.3.0
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
GEOMImpl_IPolyline.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, 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 Polyline creation.
24
25
#include "
GEOM_Function.hxx
"
26
#include <TColStd_HArray1OfReal.hxx>
27
28
#define POLY_ARG_LENG 1
29
#define POLY_ARG_LAST 1
30
#define POLY_ARG_CLOS 2
31
32
#define POLY_CONSTRUCTOR 3
33
#define POLY_ARG_ARRAY 4
34
35
class
GEOMImpl_IPolyline
36
{
37
public
:
38
39
GEOMImpl_IPolyline
(
Handle
(
GEOM_Function
) theFunction): _func(theFunction) {}
40
41
void
SetLength
(
int
theLen) { _func->SetInteger(
POLY_ARG_LENG
, theLen); }
42
43
void
SetPoint
(
int
theId,
Handle
(
GEOM_Function
) theP) { _func->SetReference(
POLY_ARG_LAST
+ theId, theP); }
44
45
void
SetIsClosed
(
bool
theIsClosed) { _func->SetInteger(
POLY_ARG_CLOS
, (
int
)theIsClosed); }
46
47
int
GetLength
() {
return
_func->GetInteger(
POLY_ARG_LENG
); }
48
49
Handle
(
GEOM_Function
) GetPoint(
int
theId) {
return
_func->GetReference(
POLY_ARG_LAST
+ theId); }
50
51
bool
GetIsClosed
() {
return
(
bool
)_func->GetInteger(
POLY_ARG_CLOS
); }
52
53
void
SetConstructorType
(
int
theConstructor) {_func->SetInteger(
POLY_CONSTRUCTOR
,theConstructor); }
54
55
int
GetConstructorType
() {
return
_func->GetInteger(
POLY_CONSTRUCTOR
); }
56
57
void
SetCoordinates
(
const
Handle
(TColStd_HArray1OfReal)& theValue)
58
{ _func->SetRealArray(
POLY_ARG_ARRAY
, theValue); }
59
60
61
Handle
(TColStd_HArray1OfReal) GetCoordinates() {
return
_func->GetRealArray(
POLY_ARG_ARRAY
); }
62
63
64
65
private
:
66
67
Handle
(
GEOM_Function
) _func;
68
};
src
GEOMImpl
GEOMImpl_IPolyline.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS