32 #include "../../dataHandler/WGridRegular3D.h"
33 #include "linearAlgebra/WVectorFixed.h"
136 if( cross( normal, gen ) ==
WVector3d( 0, 0, 0 ) )
140 m_first = cross( normal, gen );
155 std::shared_ptr< std::set< WPosition > >
samplePoints(
double stepWidth,
size_t numX,
size_t numY )
const;
A grid that has parallelepiped cells which all have the same proportion.
Represents a plane with a normal vector and a position in space.
std::shared_ptr< std::set< WPosition > > samplePoints(const WGridRegular3D &grid, double stepWidth)
Computes sample points on that plane.
const WPosition & getPosition() const
Returns a point in that plane.
WPosition m_pos
Position of the plane specifying the center.
void setNormal(const WVector3d &normal)
Resets the normal of this plane.
WPosition getPointInPlane(double x, double y) const
Computes with relative coordinates a point in this plane.
WVector3d m_first
First vector in the plane.
WPlane(const WVector3d &normal, const WPosition &pos)
Constructs a plane with its normal and containing the point.
void setPlaneVectors(const WVector3d &first, const WVector3d &second)
Resets the vector spanning the plane.
bool isInPlane(WPosition point) const
Determines whether a given point is in this plane or not.
WVector3d m_normal
Direction of the plane.
void resetPosition(WPosition newPos)
Reset the position of the plane, normal remains the same.
WVector3d m_second
Second vector in the plane.
const WVector3d & getNormal() const
Returns the normal of the plane.
virtual ~WPlane()
Destructor.
This only is a 3d double vector.