Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
PPointPlane3dC::PPointPlane3dC(void)
PPointPlane3dC::PPointPlane3dC(CCoordT,CCoordT,CCoordT)
PPointPlane3dC::PPointPlane3dC(const Point3dC &)
PPointPlane3dC::PPointPlane3dC(const Vector3dC &)
PPointPlane3dC::PPointPlane3dC(PCoordT,PCoordT,PCoordT,PCoordT)
PPointPlane3dC::PPointPlane3dC(const PlaneABCD3dC &)
PPointPlane3dC::PPointPlane3dC(const PPointPlane3dC &,const PPointPlane3dC &,const PPointPlane3dC &)
PPointPlane3dC::PPointPlane3dC(const PPointPlane3dC &)
PPointPlane3dC::operator=(const PPointPlane3dC &)
PPointPlane3dC::operator[](IndexT) const
PPointPlane3dC::operator[](IndexT)
PPointPlane3dC::operator()(IndexT) const
PPointPlane3dC::Scale(void) const
PPointPlane3dC::P1(void) const
PPointPlane3dC::P2(void) const
PPointPlane3dC::P3(void) const
PPointPlane3dC::P4(void) const
PPointPlane3dC::P1(void)
PPointPlane3dC::P2(void)
PPointPlane3dC::P3(void)
PPointPlane3dC::P4(void)
PPointPlane3dC::X(void) const
PPointPlane3dC::Y(void) const
PPointPlane3dC::Z(void) const
PPointPlane3dC::Point3d(void) const
PPointPlane3dC::PPointPlane3d(void) const
PPointPlane3dC::PPointPlane3d(void)
PPointPlane3dC::operator==(const PPointPlane3dC &) const
PPointPlane3dC::operator!=(const PPointPlane3dC &) const
PPointPlane3dC::IsIdealPoint(void) const
PPointPlane3dC::IsIdealPlane(void) const
PPointPlane3dC::IsValid(void) const
PPointPlane3dC::Set(const PPointPlane3dC &)
PPointPlane3dC::Set(const PCoordT,const PCoordT,const PCoordT,const PCoordT)
PPointPlane3dC::MaxIndex(void) const
PPointPlane3dC::MinIndex(void) const
PPointPlane3dC::AbsMaxIndex(void) const
PPointPlane3dC::AbsMinIndex(void) const
PPointPlane3dC::Sum(void) const
PPointPlane3dC::SumAbs(void) const
PPointPlane3dC::operator+=(const PPointPlane3dC &)
PPointPlane3dC::operator-=(const PPointPlane3dC &)
PPointPlane3dC::operator*=(const RealT)
PPointPlane3dC::operator/=(const RealT)
PPointPlane3dC::operator+(const PPointPlane3dC &) const
PPointPlane3dC::operator*(const RealT) const
PPointPlane3dC::operator/(const RealT) const
PPointPlane3dC::operator&(const PPointPlane3dC &) const
PPointPlane3dC::Translation(const PPointPlane3dC &) const
PPointPlane3dC::AdjointDet(RealT,RealT,RealT,RealT,RealT,RealT,RealT,RealT,RealT)
PPointPlane3dC::PPointPlane3dC(const Point4dC &)
PPointPlane3dC::operator*(RealT,const PPointPlane3dC &)
PPointPlane3dC::operator/(RealT,const PPointPlane3dC &)
PPointPlane3dC::operator>>(istream &,PPointPlane3dC &)
PPointPlane3dC::Set(const PPointPlane3dC::PCoordT,const PPointPlane3dC::PCoordT,const PPointPlane3dC::PCoordT,const PPointPlane3dC::PCoordT)
PPointPlane3dC
 
Point - plane in 3D projective space
 
include "amma/PPtPl3d.hh"
User Level:Default
Library:Mpg3
Example:exMat2d.cc
Section:Geometry.Projective.3-D
In Scope:std

Comments:
The class represents a point/plane in 3 dimensional projective space. An object contains 4 real numbers which serve as its projective coordinates. An object can be treated as a point and its dual plane and vice versa in any time. This feature reflects the dual relationship of points and planes in 3D projective space.

Parent Classes: Derived Classes: Typedefs:
typedef Point4dC::CoordT PCoordT;
A projective coordinate.

typedef Point4dC::CoordT CCoordT;
An cartesian coordinate.

Methods:
PPointPlane3dC()
Constructs the point/plane whose coordinates are zeros, eg. non-existing projective object.

PPointPlane3dC(CCoordT x,CCoordT y,CCoordT z)
Constructs the point/plane (x, y, z, 1). x,y,z represent either point Cartesian coordinates or plane normal expressed as vector Cartesian coordinates.

PPointPlane3dC(const Point3dC & p)
Constructs the projective point/line (p.X(), p.Y(), p.Z(), 1) related to the Euclidian point 'p'.

PPointPlane3dC(const Vector3dC & v)
Constructs the projective point/line (v.X(), v.Y(), v.Z(), 0) related to the Euclidian direction 'v'.

PPointPlane3dC(PCoordT p0,PCoordT p1,PCoordT p2,PCoordT p3)
Constructs the point/plane (p0, p1, p2, p3).

PPointPlane3dC(const PlaneABCD3dC & p)
Constructs the projective point/plane corresponding to the Euclidian plane 'p'.

PPointPlane3dC(const PPointPlane3dC & p0,const PPointPlane3dC & p1,const PPointPlane3dC & p2)
Constructs the projective point/plane determined by three projective planes/points, resp.

PPointPlane3dC(const PPointPlane3dC & p)
Copy constructor.

const PPointPlane3dC & operator=(const PPointPlane3dC & p)
Assigment of point/plane. Access to the object parameters. --------------------------------

const PCoordT & operator[](IndexT i) const
Returns the value of the (i+1)-th coordinate.

PCoordT & operator[](IndexT i)
Access the value of the (i+1)-th coordinate.

CCoordT operator()(IndexT i) const
Returns the value of the (i+1)-th Cartesian coordinate. The function does not check if the point/plane is ideal or not or the range of the index 'i'.

PCoordT Scale() const
Returns the value of the last projective coordinate P4().

const PCoordT & P1() const
Returns the value of the 1st coordinate.

const PCoordT & P2() const
Returns the value of the 2nd coordinate.

const PCoordT & P3() const
Returns the value of the 3rd coordinate.

const PCoordT & P4() const
Returns the value of the 4th coordinate.

PCoordT & P1()
Returns the value of the 1st coordinate.

PCoordT & P2()
Returns the value of the 2nd coordinate.

PCoordT & P3()
Returns the value of the 3rd coordinate.

PCoordT & P4()
Returns the value of the 4th coordinate.

CCoordT X() const
Returns the value of the 1. Cartesian coordinate. The function does not check if the point/plane is ideal or not.

CCoordT Y() const
Returns the value of the 2. Cartesian coordinate. The function does not check if the point/plane is ideal or not.

CCoordT Z() const
Returns the value of the 3. Cartesian coordinate. The function does not check if the point/plane is ideal or not.

Point3dC Point3d() const
Returns the point in 3D Euiclidian space corresponding to this projective object. This object is treated as a projective point. It is not checked if the projective point is ideal or not.

const PPointPlane3dC & PPointPlane3d() const
Access to this constant object.

PPointPlane3dC & PPointPlane3d()
Access to the point/plane. Logical conditions. -------------------

BooleanT operator==(const PPointPlane3dC & p) const
Returns TRUE iff 2 points/planes are the same projective point/plane. Two projective points/planes are equal iff their 4D Cartesian representants are equal.

BooleanT operator!=(const PPointPlane3dC & p) const
Returns TRUE iff 2 points/planes are different projective points/planes. Two projective points/planes are different iff they are not equal in the sense of the operator '=='.

BooleanT IsIdealPoint() const
Returns TRUE iff this point/plane represents an ideal projective point. The point is an ideal projective point if the absolute value of the ratio Scale()/SumAbs() is smaller or equal to the threshold 'Point4dC::relZero'.

BooleanT IsIdealPlane() const
Returns TRUE iff this point/plane represents an ideal projective plane. The plane is an ideal projective plane if the absolute value of the ratio (Abs(P1)+Abs(P2()+Abs(P3))/Scale() is smaller or equal to the threshold 'Point4dC::relZero'.

BooleanT IsValid() const
Returns TRUE if the sum of absolute values of the projective coordinates is bigger than the threshold 'Point4dC::zeroDistance'. Setting of the coordinates. ---------------------------

void Set(const PPointPlane3dC & p)
Sets both coordinates according to the values of the point/plane 'p'.

void Set(const PCoordT p1,const PCoordT p2,const PCoordT p3,const PCoordT p4)
Sets the 1-st coordinate to be 'p1', the 2nd one to be 'p2', the 3rd one to be 'p3', and the 4th one to be 'p4'. Information about extrems. --------------------------

IndexT MaxIndex() const
Returns the index of the maximum coordinate.

IndexT MinIndex() const
Returns the index of the minimum coordinate.

IndexT AbsMaxIndex() const
Returns the index of the maximum coordinate in absolute value.

IndexT AbsMinIndex() const
Returns the index of the minimum coordinate in absolute value.

PCoordT Sum() const
Returns the sum of coordinates.

PCoordT SumAbs() const
Returns the sum of absolute value of coordinates. Arithmetical operations. ------------------------

const PPointPlane3dC & operator+=(const PPointPlane3dC & p)
Adds the values of the coordinates of the 'p' to this point/plane.

const PPointPlane3dC & operator-=(const PPointPlane3dC & p)
Subtracts the values of the coordinates of the 'p' from this point/plane.

const PPointPlane3dC & operator*=(const RealT alpha)
Multiplies all coordinates by 'alpha'.

const PPointPlane3dC & operator/=(const RealT alpha)
Divides all coordinates by 'alpha'.

PPointPlane3dC operator+(const PPointPlane3dC & p) const
Returns the point/plane which is the sum of this point and the 'p'.

PPointPlane3dC operator*(const RealT alpha) const
Returns the point/plane which coordinates are multiplied by 'alpha'.

PPointPlane3dC operator/(const RealT alpha) const
Returns the point/plane which coordinates are divided by 'alpha'. Geometrical operations. -----------------------

RealT operator&(const PPointPlane3dC & p) const
Returns the sum P1()*p.P1() + P2()*p.P2() + P3()*p.P3() + P4()*p.P4(). In 3 dimensional Euclidian vector space the result is equivalent to dot product of 2 vectors.

PPointPlane3dC Translation(const PPointPlane3dC & newOrigin) const
Returns the point/plane with projective coordinates related to the new origin 'newOrigin'.

RealT AdjointDet(RealT b00,RealT b01,RealT b02,RealT b10,RealT b11,RealT b12,RealT b20,RealT b21,RealT b22)
Computes the determinant of the matrix 3x3 created from b[ij] elements.

PPointPlane3dC(const Point4dC & p)
Creates the projective point/plane in 3D space from values of the point 'p'.

PPointPlane3dC operator*(RealT lambda,const PPointPlane3dC & p)

PPointPlane3dC operator/(RealT lambda,const PPointPlane3dC & p)

istream & operator>>(istream & inS,PPointPlane3dC & point)

void Set(const PPointPlane3dC::PCoordT p1,const PPointPlane3dC::PCoordT p2,const PPointPlane3dC::PCoordT p3,const PPointPlane3dC::PCoordT p4)


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001