Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
OCCViewer_ClipPlane.h
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 _OCCViewer_ClipPlane_HeaderFile
24
#define _OCCViewer_ClipPlane_HeaderFile
25
26
#include "
OCCViewer.h
"
27
28
#include <Graphic3d_ClipPlane.hxx>
29
#include <vector>
30
35
class
OCCVIEWER_EXPORT
OCCViewer_ClipPlane
36
{
37
public
:
38
39
enum
PlaneMode
40
{
41
Absolute
,
42
Relative
43
};
44
45
enum
AbsoluteOrientationType
46
{
47
AbsoluteCustom
,
48
AbsoluteXY
,
49
AbsoluteYZ
,
50
AbsoluteZX
51
};
52
53
enum
RelativeOrientationType
54
{
55
RelativeXY
,
56
RelativeYZ
,
57
RelativeZX
58
};
59
60
public
:
61
62
OCCViewer_ClipPlane
();
63
OCCViewer_ClipPlane
&
operator =
(
const
OCCViewer_ClipPlane
& theOther );
64
65
// Parameters
66
public
:
67
68
// Plane definition mode
69
PlaneMode
Mode
;
70
71
// Is active
72
bool
IsOn
;
73
74
// Plane position
75
double
X
;
76
double
Y
;
77
double
Z
;
78
79
// Orientation type
80
int
OrientationType
;
81
82
// Plane orientation (depends on mode)
83
union
84
{
85
struct
86
{
87
bool
IsInvert
;
88
double
Dx
;
89
double
Dy
;
90
double
Dz
;
91
} AbsoluteOrientation;
92
93
struct
94
{
95
double
Rotation1
;
96
double
Rotation2
;
97
} RelativeOrientation;
98
};
99
100
// Tools
101
public
:
102
103
// Converts defined orientation to direction.
104
void
OrientationToXYZ(
double
& theDx,
double
& theDy,
double
& theDz )
const
;
105
106
// Converts absoulte orientation to relative equivalent.
107
static
void
DXYZToRelative(
const
double
theDx,
108
const
double
theDy,
109
const
double
theDz,
110
const
int
theRelativeType,
111
double
& theRotation1,
112
double
& theRotation2 );
113
114
// Converts relative orientation to absolute equivalent.
115
static
void
RelativeToDXYZ(
const
int
theRelativeType,
116
const
double
theRotation1,
117
const
double
theRotation2,
118
double
& theDx,
119
double
& theDy,
120
double
& theDz );
121
};
122
123
typedef
std::vector<OCCViewer_ClipPlane>
ClipPlanesList
;
124
125
#endif
src
OCCViewer
OCCViewer_ClipPlane.h
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