Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GEOMImpl_ICurvesOperations.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 #ifndef _GEOMImpl_ICurvesOperations_HXX_
24 #define _GEOMImpl_ICurvesOperations_HXX_
25 
26 #include "GEOM_IOperations.hxx"
27 
28 #include <TCollection_AsciiString.hxx>
29 
30 #include <list>
31 
32 class GEOM_Engine;
33 class GEOM_Object;
34 
36 
37  public:
38 
40 
41  Standard_EXPORT GEOMImpl_ICurvesOperations(GEOM_Engine* theEngine, int theDocID);
42  Standard_EXPORT ~GEOMImpl_ICurvesOperations();
43 
44  Standard_EXPORT Handle(GEOM_Object) MakeCircleThreePnt (Handle(GEOM_Object) thePnt1,
45  Handle(GEOM_Object) thePnt2,
46  Handle(GEOM_Object) thePnt3);
47  Standard_EXPORT Handle(GEOM_Object) MakeCircleCenter2Pnt (Handle(GEOM_Object) thePnt1,
48  Handle(GEOM_Object) thePnt2,
49  Handle(GEOM_Object) thePnt3);
50  Standard_EXPORT Handle(GEOM_Object) MakeCirclePntVecR (Handle(GEOM_Object) thePnt,
51  Handle(GEOM_Object) theVec, double theR);
52 
53  Standard_EXPORT Handle(GEOM_Object) MakeEllipse (Handle(GEOM_Object) thePnt,
54  Handle(GEOM_Object) theVec,
55  double theRMajor, double theRMinor,
56  Handle(GEOM_Object) theVecMaj);
57 
58  Standard_EXPORT Handle(GEOM_Object) MakeArc (Handle(GEOM_Object) thePnt1,
59  Handle(GEOM_Object) thePnt2,
60  Handle(GEOM_Object) thePnt3);
61 
62  Standard_EXPORT Handle(GEOM_Object) MakeArcCenter (Handle(GEOM_Object) thePnt1,
63  Handle(GEOM_Object) thePnt2,
64  Handle(GEOM_Object) thePnt3,
65  bool theSense);
66 
67  Standard_EXPORT Handle(GEOM_Object) MakeArcOfEllipse (Handle(GEOM_Object) thePnt1,
68  Handle(GEOM_Object) thePnt2,
69  Handle(GEOM_Object) thePnt3);
70 
71  Standard_EXPORT Handle(GEOM_Object) MakePolyline (std::list<Handle(GEOM_Object)> thePoints,
72  bool theIsClosed = false);
73 
74  Standard_EXPORT Handle(GEOM_Object) MakeSplineBezier (std::list<Handle(GEOM_Object)> thePoints,
75  bool theIsClosed = false);
76 
77  Standard_EXPORT Handle(GEOM_Object) MakeSplineInterpolation (std::list<Handle(GEOM_Object)> thePoints,
78  bool theIsClosed = false,
79  bool theDoReordering = false);
80 
81  Standard_EXPORT Handle(GEOM_Object) MakeSplineInterpolWithTangents
82  (std::list<Handle(GEOM_Object)> thePoints,
83  Handle(GEOM_Object) theFirstVec,
84  Handle(GEOM_Object) theLastVec);
85 
86  Standard_EXPORT Handle(GEOM_Object) MakeCurveParametric
87  (const char* thexExpr, const char* theyExpr, const char* thezExpr,
88  double theParamMin, double theParamMax, double theParamStep,
90 
91  Standard_EXPORT Handle(GEOM_Object) MakeSketcher (const char* theCommand,
92  std::list<double> theWorkingPlane);
93  Standard_EXPORT Handle(GEOM_Object) MakeSketcherOnPlane (const char* theCommand,
94  Handle(GEOM_Object) theWorkingPlane);
95  Standard_EXPORT Handle(GEOM_Object) Make3DSketcherCommand (const char* theCommand);
96  Standard_EXPORT Handle(GEOM_Object) Make3DSketcher (std::list<double> theCoordinates);
97 
98  Standard_EXPORT Handle(GEOM_Object) MakeIsoline
99  (const Handle(GEOM_Object) &theFace,
100  const bool IsUIso,
101  const double theParameter);
102 
103  Standard_EXPORT Handle(GEOM_Object) MakePolyline2D
104  (const std::list <std::list <double> > &theCoords,
105  const Handle(TColStd_HArray1OfExtendedString) &theNames,
106  const Handle(TColStd_HArray1OfByte) &theTypes,
107  const Handle(TColStd_HArray1OfByte) &theCloseds,
108  const Handle(TColStd_HArray1OfReal) &theWorkingPlane);
109 
110  Standard_EXPORT Handle(GEOM_Object) MakePolyline2DOnPlane
111  (const std::list <std::list <double> > &theCoords,
112  const Handle(TColStd_HArray1OfExtendedString) &theNames,
113  const Handle(TColStd_HArray1OfByte) &theTypes,
114  const Handle(TColStd_HArray1OfByte) &theCloseds,
115  const Handle(GEOM_Object) &theWorkingPlane);
116 };
117 
118 #endif