|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
Comments:
The class represents a point in 2 dimensional projective space.
The point contains 3 real numbers which serve as its projective
coordinates.
Parent Classes:
Typedefs:
- typedef PPointLine2dC::PCoordT PCoordT;
-
A projective coordinate.
- typedef PPointLine2dC::CCoordT CCoordT;
-
An cartesian coordinate.
Methods:
- PPoint2dC()
-
Constructs the point whose coordinates are zeros, eg. non-existing
projective point.
- PPoint2dC(CCoordT x,CCoordT y)
-
Constructs the point (x, y, 1).
- PPoint2dC(const Point2dC & p)
-
Constructs the point (p.x, p.y, 1).
- PPoint2dC(PCoordT p1,PCoordT p2,PCoordT p3)
-
Constructs the point (p1, p2, p3).
- PPoint2dC(const PPoint2dC & p)
-
Copy constructor.
- PPoint2dC(const PPointLine2dC & p)
-
Creates the projective point from the projective point/line.
- PPoint2dC(const PPointLine2dC & l0,const PPointLine2dC & l1)
-
Constructs the projective point as intersection of two
projective line 'l0' and 'l1'.
- const PPoint2dC & operator=(const PPoint2dC & p)
-
Assigment of point.
Access to the object.
--------------------------
- const PPoint2dC & PPoint2d() const
-
Access to this constant object.
- PPoint2dC & PPoint2d()
-
Access to the point.
- Point2dC Point2d() const
-
Returns the point in Euclidian space related to this projective point.
It is assumed that the point is not ideal. The function
does not check if the point is ideal or not.
Logical conditions.
-------------------
- BooleanT IsIdeal() const
-
Returns TRUE iff this point is 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 'Point2dC::relZero'.
- BooleanT IsColinear(const PPoint2dC & q2,const PPoint2dC & q3) const
-
Returns TRUE iff this point and the points 'q2' and 'q3' are
colinear.
Arithmetical operations.
------------------------
- const PPoint2dC & operator+=(const PPoint2dC & point)
-
Adds the values of the coordinates of the 'point' to this point.
- const PPoint2dC & operator-=(const PPoint2dC & point)
-
Subtracts the values of the coordinates of the 'point' from this point.
- const PPoint2dC & operator*=(const RealT alpha)
-
Multiplies both coordinates by 'alpha'.
- const PPoint2dC & operator/=(const RealT alpha)
-
Divides both coordinates by 'alpha'.
- PPoint2dC operator+(const PPoint2dC & point) const
-
Returns the point which is the sum of this point and the 'point'.
- PPoint2dC operator*(const RealT alpha) const
-
Returns the point which coordinates are multiplied by 'alpha'.
- PPoint2dC operator/(const RealT alpha) const
-
Returns the point which coordinates are divided by 'alpha'.
Geometrical operations.
-----------------------
- PPoint2dC Translation(const PPoint2dC & newOrigin) const
-
Returns the point with projective coordinates related to the new origin
'newOrigin'.
- PLine2dC PLine(const PPoint2dC & p) const
-
Returns the projective line passing through this point
and the point 'p'.
- const PPointLine2dC & operator=(const PPointLine2dC & p)
-
Assigment of a point/line 'p'.
Access to the object items.
---------------------------
- const PCoordT & operator[](IndexT i) const
-
Returns the value of the i-th coordinate.
- PCoordT & operator[](IndexT i)
-
Access the value of the i-th coordinate.
- CCoordT operator()(IndexT i) const
-
Returns the value of the i-th Cartesian coordinate.
The function does not check if the point/line is ideal or not or
the range of the index 'i'.
- PCoordT Scale() const
-
Returns the value of the last projective coordinate P3().
- 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.
- 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.
- CCoordT X() const
-
Returns the value of the 1. Cartesian coordinate. The function
does not check if the point/line is ideal or not.
- CCoordT Y() const
-
Returns the value of the 2. Cartesian coordinate. The function
does not check if the point/line is ideal or not.
- const PPointLine2dC & PPointLine2d() const
-
Access to this constant object.
- PPointLine2dC & PPointLine2d()
-
Access to the point/line.
Logical conditions.
-------------------
- BooleanT operator==(const PPointLine2dC & p) const
-
Returns TRUE iff 2 points/lines are the same projective point/line.
Two projective points/lines are equal iff their 3D Cartesian
representants are equal.
- BooleanT operator!=(const PPointLine2dC & p) const
-
Returns TRUE iff 2 points/lines are different projective points/lines.
Two projective points/lines are different iff they are not
equal in the sense of the operator '=='.
- BooleanT IsIdealPoint() const
-
Returns TRUE iff this point/line 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 'Point3dC::relZero'.
- BooleanT IsIdealLine() const
-
Returns TRUE iff this point/line represents an ideal projective plane.
The plane is an ideal projective plane if the absolute value of
the ratio (Abs(P1)+Abs(P2())/Scale() is smaller or equal to
the threshold 'Point3dC::relZero'.
- BooleanT IsValid() const
-
Returns TRUE if the sum of absolute values of the projective coordinates
is bigger than the threshold 'Point3dC::zeroDistance'.
Setting of the coordinates.
---------------------------
- void Set(const PPointLine2dC & p)
-
Sets coordinates according to the values of the point/line 'p'.
- void Set(const PCoordT p1,const PCoordT p2,const PCoordT p3)
-
Sets the 1-st coordinate to be 'p1', the 2nd one to be 'p2',
and the 3rd one to be 'p3'.
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 PPointLine2dC & operator+=(const PPointLine2dC & p)
-
Adds the values of the coordinates of the 'p' to this point/line.
- const PPointLine2dC & operator-=(const PPointLine2dC & p)
-
Subtracts the values of the coordinates of the 'p' from this
point/line.
- const PPointLine2dC & operator*=(const RealT alpha)
-
Multiplies all coordinates by 'alpha'.
- const PPointLine2dC & operator/=(const RealT alpha)
-
Divides all coordinates by 'alpha'.
- PPointLine2dC operator+(const PPointLine2dC & p) const
-
Returns the point/line which is the sum of this point and the 'p'.
- PPointLine2dC operator*(const RealT alpha) const
-
Returns the point/line which coordinates are multiplied by 'alpha'.
- PPointLine2dC operator/(const RealT alpha) const
-
Returns the point/line which coordinates are divided by 'alpha'.
Geometrical operations.
-----------------------
- RealT operator&(const PPointLine2dC & p) const
-
Returns the sum P1()*p.P1() + P2()*p.P2() + P3()*p.P3().
In 3 dimensional Euclidian vector space the result is equivalent
to dot product of 2 vectors.
- PPointLine2dC PPointLine2d(const PPointLine2dC & p) const
-
Returns the projective line/point determined by this point/line
and the point/line 'p'.
|
Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|