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_IBasicOperations.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_IBasicOperations_HXX_
24
#define _GEOMImpl_IBasicOperations_HXX_
25
26
#include "Utils_SALOME_Exception.hxx"
27
#include "
GEOM_IOperations.hxx
"
28
#include "
GEOM_Engine.hxx
"
29
#include "
GEOM_Object.hxx
"
30
#include <TDocStd_Document.hxx>
31
32
class
GEOMImpl_IBasicOperations
:
public
GEOM_IOperations
{
33
public
:
34
Standard_EXPORT
GEOMImpl_IBasicOperations
(
GEOM_Engine
* theEngine,
int
theDocID);
35
Standard_EXPORT
~GEOMImpl_IBasicOperations
();
36
37
// Point
38
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointXYZ (
double
theX
,
double
theY
,
double
theZ
);
39
40
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointWithReference (
Handle
(
GEOM_Object
) theReference,
41
double
theX,
double
theY,
double
theZ);
42
43
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnCurve
44
(
Handle
(
GEOM_Object
) theCurve,
45
double
theParameter
,
46
bool
takeOrientationIntoAccount
);
47
48
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnCurveByLength (
Handle
(
GEOM_Object
) theCurve,
49
double
theLength
,
50
Handle
(
GEOM_Object
) theStartPoint);
51
52
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnCurveByCoord (
Handle
(
GEOM_Object
) theCurve,
53
double
theXParam
,
54
double
theYParam
,
55
double
theZParam
);
56
57
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnLinesIntersection
58
(
Handle
(
GEOM_Object
) theLine1,
Handle
(
GEOM_Object
) theLine2);
59
60
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnSurface (
Handle
(
GEOM_Object
) theSurface,
61
double
theUParameter
,
62
double
theVParameter
);
63
64
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnSurfaceByCoord (
Handle
(
GEOM_Object
) theSurface,
65
double
theXParam,
66
double
theYParam,
67
double
theZParam);
68
69
Standard_EXPORT
Handle
(
GEOM_Object
) MakePointOnFace (
Handle
(
GEOM_Object
) theFace);
70
71
// Vector
72
Standard_EXPORT
Handle
(
GEOM_Object
) MakeVectorDXDYDZ (
double
theDX,
double
theDY
,
double
theDZ
);
73
74
Standard_EXPORT
Handle
(
GEOM_Object
) MakeVectorTwoPnt (
Handle
(
GEOM_Object
) thePnt1,
75
Handle
(
GEOM_Object
) thePnt2);
76
77
Standard_EXPORT
Handle
(
GEOM_Object
) MakeTangentOnCurve(const
Handle
(
GEOM_Object
)& theCurve,
78
double
theParameter);
79
80
// Line
81
Standard_EXPORT
Handle
(
GEOM_Object
) MakeLineTwoPnt (
Handle
(
GEOM_Object
) thePnt1,
82
Handle
(
GEOM_Object
) thePnt2);
83
84
Standard_EXPORT
Handle
(
GEOM_Object
) MakeLineTwoFaces (
Handle
(
GEOM_Object
) theFace1,
85
Handle
(
GEOM_Object
) theFace2);
86
87
Standard_EXPORT
Handle
(
GEOM_Object
) MakeLine (
Handle
(
GEOM_Object
) thePnt,
88
Handle
(
GEOM_Object
) theDir);
89
90
// Plane
91
Standard_EXPORT
Handle
(
GEOM_Object
) MakePlaneThreePnt (
Handle
(
GEOM_Object
) thePnt1,
92
Handle
(
GEOM_Object
) thePnt2,
93
Handle
(
GEOM_Object
) thePnt3,
94
double
theSize
);
95
96
Standard_EXPORT
Handle
(
GEOM_Object
) MakePlanePntVec (
Handle
(
GEOM_Object
) thePnt,
97
Handle
(
GEOM_Object
) theVec,
98
double
theSize);
99
100
Standard_EXPORT
Handle
(
GEOM_Object
) MakePlaneFace (
Handle
(
GEOM_Object
) theFace,
double
theSize);
101
102
Standard_EXPORT
Handle
(
GEOM_Object
) MakePlane2Vec (
Handle
(
GEOM_Object
) theVec1,
103
Handle
(
GEOM_Object
) theVec2,
104
double
theSize);
105
106
Standard_EXPORT
Handle
(
GEOM_Object
) MakePlaneLCS (
Handle
(
GEOM_Object
) theFace,
double
theSize,
int
theOrientation
);
107
108
// Marker
109
Standard_EXPORT
Handle
(
GEOM_Object
) MakeMarker (
double
theOX,
double
theOY
,
double
theOZ
,
110
double
theXDX
,
double
theXDY
,
double
theXDZ
,
111
double
theYDX
,
double
theYDY
,
double
theYDZ
);
112
113
Standard_EXPORT
Handle
(
GEOM_Object
) MakeMarkerFromShape (const
Handle
(
GEOM_Object
)& theShape);
114
115
Standard_EXPORT
Handle
(
GEOM_Object
) MakeMarkerPntTwoVec (const
Handle
(
GEOM_Object
)& theOrigin,
116
const
Handle
(
GEOM_Object
)& theXVec,
117
const
Handle
(
GEOM_Object
)& theYVec);
118
119
Standard_EXPORT
Handle
(
GEOM_Object
) MakeTangentPlaneOnFace(const
Handle
(
GEOM_Object
)& theFace,
120
double
theParamU
,
121
double
theParamV
,
122
double
theSize);
123
124
private:
125
// Private methods
126
129
enum
PointLocation
130
{
131
PointOn_CurveByParam
,
132
PointOn_CurveByCoord
,
133
PointOn_CurveByLength
,
134
PointOn_SurfaceByParam
,
135
PointOn_SurfaceByCoord
,
136
PointOn_Face
137
};
138
139
Handle
(
GEOM_Object
) makePointOnGeom
140
(
Handle
(
GEOM_Object
) theGeomObj,
141
double
theParam1
,
142
double
theParam2
,
143
double
theParam3
,
144
const
PointLocation
theLocation
,
145
const
bool
takeOrientationIntoAccount
= false,
146
Handle
(
GEOM_Object
) theRefPoint = 0);
147
};
148
149
#endif
src
GEOMImpl
GEOMImpl_IBasicOperations.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