Version: 9.16.0
GEOMImpl_IPolyline.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 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
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};
#define POLY_ARG_LAST
Definition: GEOMImpl_IPolyline.hxx:29
#define POLY_ARG_LENG
Definition: GEOMImpl_IPolyline.hxx:28
#define POLY_ARG_ARRAY
Definition: GEOMImpl_IPolyline.hxx:33
#define POLY_ARG_CLOS
Definition: GEOMImpl_IPolyline.hxx:30
#define POLY_CONSTRUCTOR
Definition: GEOMImpl_IPolyline.hxx:32
Definition: GEOMImpl_IPolyline.hxx:36
int GetLength()
Definition: GEOMImpl_IPolyline.hxx:47
Handle(GEOM_Function) GetPoint(int theId)
Definition: GEOMImpl_IPolyline.hxx:49
GEOMImpl_IPolyline(Handle(GEOM_Function) theFunction)
Definition: GEOMImpl_IPolyline.hxx:39
void SetLength(int theLen)
Definition: GEOMImpl_IPolyline.hxx:41
Handle(GEOM_Function) _func
void SetPoint(int theId, Handle(GEOM_Function) theP)
Definition: GEOMImpl_IPolyline.hxx:43
void SetIsClosed(bool theIsClosed)
Definition: GEOMImpl_IPolyline.hxx:45
Handle(TColStd_HArray1OfReal) GetCoordinates()
Definition: GEOMImpl_IPolyline.hxx:61
int GetConstructorType()
Definition: GEOMImpl_IPolyline.hxx:55
bool GetIsClosed()
Definition: GEOMImpl_IPolyline.hxx:51
void SetCoordinates(const Handle(TColStd_HArray1OfReal)&theValue)
Definition: GEOMImpl_IPolyline.hxx:57
void SetConstructorType(int theConstructor)
Definition: GEOMImpl_IPolyline.hxx:53