Computer Assisted Medical Intervention Tool Kit  version 5.1
PlaneC.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2023 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
6 *
7 * Visit http://camitk.imag.fr for more information
8 *
9 * This file is part of CamiTK.
10 *
11 * CamiTK is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * CamiTK is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * $CAMITK_LICENCE_END$
24 ****************************************************************************/
25#ifndef PLANE_C_H
26#define PLANE_C_H
27
28// -- VTK stuff
29#include <vtkSmartPointer.h>
30
31// -- VTK stuff classes
32class vtkPlaneSource;
33class vtkPolyDataMapper;
34class vtkActor;
35class vtkProperty;
36
37
38namespace camitk {
51class PlaneC {
52public:
62 };
64 PlaneC();
66 ~PlaneC();
67
73 void init(PlaneCType type, double* bounds);
75 void setVisuPlane();
77 void setVisuActivePlane();
81 void clear();
83 void translatePlaneX();
85 void translatePlaneY();
87 void translatePlaneZ();
89 void rotationAxe1();
91 void rotationAxe2();
93 vtkSmartPointer<vtkActor> getActor();
94
96 void setTransfoPercentToRealValue(double* tab, double, double);
98 void setTranslationMaxInPercent(double);
100 void getTransformationInPercent(double*, double*, double*);
102 void setOrigin(double, double, double);
106 void setXAxisPoint(double, double, double);
110 void setYAxisPoint(double, double, double);
112 void getOrigin(double* tab);
114 void getNormal(double* tab);
115
116
117
118private:
119 vtkSmartPointer<vtkPlaneSource> plane;
120 vtkSmartPointer<vtkPolyDataMapper> planeMapper;
121 vtkSmartPointer<vtkActor> planeActor;
122 vtkSmartPointer<vtkProperty> aProp;
123
125 double transformation[3];
127 double translation;
129 double angle1;
130 double angle2;
131 double translation1;
132};
133
134}
135
136#endif
This class allows you to transform a plane(translation,rotation around an axis) and visualize it.
Definition: PlaneC.h:51
~PlaneC()
Destructor.
Definition: PlaneC.cpp:70
void rotationAxe2()
Rotate the plane around Axe2.
Definition: PlaneC.cpp:281
void init(PlaneCType type, double *bounds)
Initialize the plane at a particular place of a bounding box.
Definition: PlaneC.cpp:133
void rotationAxe1()
Rotate the plane around Axe1.
Definition: PlaneC.cpp:234
void translatePlaneZ()
Translate the plane on ZAxis.
Definition: PlaneC.cpp:215
void setVisuActivePlaneOff()
Visualization of the plane in blue tone.
Definition: PlaneC.cpp:100
void setTranslationMaxInPercent(double)
set the translation value of the plane max to 100%
Definition: PlaneC.cpp:342
void setXAxisPoint(double, double, double)
The local x-axis vector will be set to (PointX - Origin) .
Definition: PlaneC.cpp:365
PlaneC()
Constructor by default.
Definition: PlaneC.cpp:48
void translatePlaneY()
Translate the plane on YAxis.
Definition: PlaneC.cpp:197
vtkSmartPointer< vtkActor > getActor()
get the actor of the plane
Definition: PlaneC.cpp:128
void getTransformationInPercent(double *, double *, double *)
get the transformation (translation, rot1 and rot2) in percentage
Definition: PlaneC.cpp:335
void clear()
Delete the plane from the View.
Definition: PlaneC.cpp:112
void getOrigin(double *tab)
get the origin of the plane
Definition: PlaneC.cpp:348
void setVisuPlane()
Visualization of the plane in wireframe.
Definition: PlaneC.cpp:76
void setOrigin(double, double, double)
Initilize the origin of the plane.
Definition: PlaneC.cpp:359
void setVisuActivePlane()
Visualization of the plane in red tone.
Definition: PlaneC.cpp:89
void getNormal(double *tab)
get the normal of the plane
Definition: PlaneC.cpp:354
void setTransfoPercentToRealValue(double *tab, double, double)
set the transformation (translation, rot1 and rot2)and convert percentage to real value
Definition: PlaneC.cpp:327
void translatePlaneX()
Translate the plane on XAxis.
Definition: PlaneC.cpp:179
void setYAxisPoint(double, double, double)
The local y-axis vector will be set to (PointY - Origin) .
Definition: PlaneC.cpp:371
PlaneCType
a planeC could represent a plane of a bounding box
Definition: PlaneC.h:54
@ Y_MAX
the plane's normal is in Y direction, the plane is at the max y
Definition: PlaneC.h:59
@ X_MIN
the plane's normal is in X direction, the plane is at the min x
Definition: PlaneC.h:55
@ UNDEFINED
the plane's normal is not defined yet
Definition: PlaneC.h:61
@ Y_MIN
the plane's normal is in Y direction, the plane is at the min y
Definition: PlaneC.h:56
@ X_MAX
the plane's normal is in X direction, the plane is at the max x
Definition: PlaneC.h:58
@ Z_MIN
the plane's normal is in Z direction, the plane is at the min z
Definition: PlaneC.h:57
@ Z_MAX
the plane's normal is in Z direction, the plane is at the max z
Definition: PlaneC.h:60
Definition: Action.cpp:35