Version: 9.16.0
GEOM_ICurvesOperations_i.hh
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#ifndef _GEOM_ICurvesOperations_i_HeaderFile
24#define _GEOM_ICurvesOperations_i_HeaderFile
25
26#include "GEOMImpl_Gen.hxx"
27
28#include <SALOMEconfig.h>
29
30#include CORBA_SERVER_HEADER(GEOM_Gen)
31#include "GEOM_IOperations_i.hh"
32#include "GEOM_Object_i.hh"
33
35
37 public virtual POA_GEOM::GEOM_ICurvesOperations,
38 public virtual GEOM_IOperations_i
39{
40 public:
41 GEOM_ICurvesOperations_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine,
44
45 GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
46 GEOM::GEOM_Object_ptr theVector,
47 double theR);
48
49 GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
50 GEOM::GEOM_Object_ptr thePnt2,
51 GEOM::GEOM_Object_ptr thePnt3);
52
53 GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
54 GEOM::GEOM_Object_ptr thePnt2,
55 GEOM::GEOM_Object_ptr thePnt3);
56
57 GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
58 GEOM::GEOM_Object_ptr theVector,
59 double theRMajor, double theRMinor);
60
61 GEOM::GEOM_Object_ptr MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
62 GEOM::GEOM_Object_ptr theVector,
63 double theRMajor, double theRMinor,
64 GEOM::GEOM_Object_ptr theVectorMajor);
65
66 GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
67 GEOM::GEOM_Object_ptr thePnt2,
68 GEOM::GEOM_Object_ptr thePnt3);
69
70 GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr thePnt1,
71 GEOM::GEOM_Object_ptr thePnt2,
72 GEOM::GEOM_Object_ptr thePnt3,
73 bool theSense);
74
75 GEOM::GEOM_Object_ptr MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
76 GEOM::GEOM_Object_ptr thePnt2,
77 GEOM::GEOM_Object_ptr thePnt3);
78
79 GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints,
80 CORBA::Boolean theIsClosed);
81
82 GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints,
83 CORBA::Boolean theIsClosed);
84
85 GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints,
86 CORBA::Boolean theIsClosed,
87 CORBA::Boolean theDoReordering);
88
89 GEOM::GEOM_Object_ptr MakeSplineInterpolWithTangents (const GEOM::ListOfGO& thePoints,
90 GEOM::GEOM_Object_ptr theFirstVec,
91 GEOM::GEOM_Object_ptr theLastVec);
92
93 GEOM::GEOM_Object_ptr MakeCurveParametric
94 (const char* thexExpr, const char* theyExpr, const char* thezExpr,
95 double theParamMin, double theParamMax, double theParamStep,
96 GEOM::curve_type theCurveType);
97
98 GEOM::GEOM_Object_ptr MakeCurveParametricNew
99 (const char* thexExpr, const char* theyExpr, const char* thezExpr,
100 double theParamMin, double theParamMax, CORBA::Long theParamNbStep,
101 GEOM::curve_type theCurveType);
102
103 GEOM::GEOM_Object_ptr MakeIsoline (GEOM::GEOM_Object_ptr theFace,
104 CORBA::Boolean IsUIsoline,
105 double theParameter);
106
107 GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, const GEOM::ListOfDouble& theWorkingPlane);
108
109 GEOM::GEOM_Object_ptr MakeSketcherOnPlane (const char* theCommand, GEOM::GEOM_Object_ptr theWorkingPlane);
110
111 GEOM::GEOM_Object_ptr Make3DSketcherCommand (const char* theCommand);
112
113 GEOM::GEOM_Object_ptr Make3DSketcher (const GEOM::ListOfDouble& theCoordinates);
114
115 GEOM::GEOM_Object_ptr MakePolyline2D
116 (const GEOM::ListOfListOfDouble &theCoordsList,
117 const GEOM::string_array &theNamesList,
118 const GEOM::short_array &theTypesList,
119 const GEOM::ListOfBool &theClosedList,
120 const GEOM::ListOfDouble &theWorkingPlane);
121
122 GEOM::GEOM_Object_ptr MakePolyline2DOnPlane
123 (const GEOM::ListOfListOfDouble &theCoordsList,
124 const GEOM::string_array &theNamesList,
125 const GEOM::short_array &theTypesList,
126 const GEOM::ListOfBool &theClosedList,
127 GEOM::GEOM_Object_ptr theWorkingPlane);
128
131
132private:
133
134 Handle(TColStd_HArray1OfByte)
135 ConvertEnumArray(const GEOM::short_array &theInArray);
136
137 Handle(TColStd_HArray1OfByte)
138 ConvertBoolArray(const GEOM::ListOfBool &theInArray);
139
140 void ConvertListListDouble
141 (const GEOM::ListOfListOfDouble &theCoordsList,
142 std::list <std::list <double> > &theCoords);
143
144};
145
146#endif
Handle(TColStd_HSequenceOfTransient) AdvancedEngine_IOperations
Create a T-shape object with specified caracteristics for the main and the incident pipes (radius,...
Definition: AdvancedEngine_IOperations.cxx:1907
#define GEOM_I_EXPORT
Definition: GEOM_GEOM_I.hxx:33
Definition: GEOMImpl_ICurvesOperations.hxx:35
Definition: GEOM_ICurvesOperations_i.hh:39
::GEOMImpl_ICurvesOperations * GetOperations()
Definition: GEOM_ICurvesOperations_i.hh:129
Definition: GEOM_IOperations_i.hh:37
::GEOM_IOperations * GetImpl()
Definition: GEOM_IOperations_i.hh:60
sequence< boolean > ListOfBool
Definition: GEOM_Gen.idl:278
sequence< double > ListOfDouble
Definition: GEOM_Gen.idl:280
sequence< GEOM_Object > ListOfGO
Definition: GEOM_Gen.idl:290
sequence< short > short_array
Definition: GEOM_Gen.idl:277
sequence< string > string_array
Definition: GEOM_Gen.idl:276
curve_type
Kind of the curves.
Definition: GEOM_Gen.idl:177
sequence< ListOfDouble > ListOfListOfDouble
Definition: GEOM_Gen.idl:281