Tulip
4.1.0
Better Visualization Through Research
Main Page
Related Pages
Modules
Classes
Files
Examples
File List
All
Classes
Files
Functions
Variables
Enumerations
Enumerator
Properties
Groups
Pages
Plane.h
1
/*
2
*
3
* This file is part of Tulip (www.tulip-software.org)
4
*
5
* Authors: David Auber and the Tulip development Team
6
* from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
7
*
8
* Tulip is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU Lesser General Public License
10
* as published by the Free Software Foundation, either version 3
11
* of the License, or (at your option) any later version.
12
*
13
* Tulip is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
* See the GNU General Public License for more details.
17
*
18
*/
19
///@cond DOXYGEN_HIDDEN
20
21
22
#ifndef DOXYGEN_NOTFOR_DEVEL
23
#ifndef _TLP_PLANE_H_
24
#define _TLP_PLANE_H_
25
26
#include <tulip/Coord.h>
27
28
namespace
tlp {
29
/** \brief Class used to describe a plane
30
*
31
* This class is used to represent a plane with it's coordinates.
32
* it follows the basic plane equation aX + bY + cZ + d = 0
33
*
34
* \author Delorme Maxime
35
* \date 23/07/2005
36
* \version 1.0
37
*/
38
class
TLP_SCOPE Plane {
39
public
:
40
41
float
a, b, c, d;
42
43
/**
44
* Constructs a Plane
45
* \attention a = b = c = d = 1.0f
46
*/
47
Plane();
48
49
/**
50
* Constructs a plane with given coordinates
51
*/
52
Plane(
float
a,
float
b,
float
c,
float
d);
53
54
/**
55
* Destructs a plane
56
*/
57
~Plane();
58
59
/**
60
* Static function used to determine the last coordinate of a point in order to have it on the plane
61
* It follows the equation : Z = (aX + bY + d) / c
62
*/
63
static
float
planeValue(
float
a,
float
b,
float
c,
float
d,
float
x,
float
y);
64
65
/**
66
* Computes a quad from the plane
67
*/
68
bool
computePlane(Coord &p1, Coord &p2, Coord &p3, Coord &p4);
69
70
/**
71
* Given a point, this function returns aX + bY + cZ + d.
72
* This is mainly used to determine if a point is above or under the plane.
73
*/
74
float
planePointValue(
const
Coord &pos);
75
};
76
77
}
78
#endif
79
#endif //DOXYGEN_NOTFOR_DEVEL
80
///@endcond
library
tulip-core
include
tulip
Plane.h
Generated on Mon Oct 22 2012 08:10:10 for Tulip by
1.8.2