IGRPoint2D
- IGRPoint2D provides a homogeneous (rational) point or vector on the 2-D coordinate plane.
The IGRPoint2D class defines basic two-dimensional points with rational(homogeneous) coordinates.
IGRPoint2D objects are used primarily by IGCurve2D to provide an exact representation of conic curves with
splines and for matrix operations requiring a homogeneous coordinate.
You can directly convert an IGPoint2D to an IGRPoint2D via the constructor that takes an IGPoint2D parameter;
in this case, a w value of 1.0 is
assumed. However, to convert an IGRPoint2D object to
an IGPoint2D one, you must perform an explicit divW or dropW operation.
Note that arithmetic operations are deliberatly not provided
for IGRPoint2D instances because their correct interpretation is highly application specific.
Do not derive your own classes from this class.
IGRPoint2D - Member Functions and Data by Group
Constructors & Destructor
Use the functions in this group to construct and destroy objects of class IGPoint2D.
- ~IGRPoint2D
public:
~IGRPoint2D()
- Destroys the two-dimensional points object of class IGRPoint2D.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- IGRPoint2D
- Constructs an object of class IGRPoint2D that defines a homogeneous point or vector on the 2-D coordinate plane.
Overload 1
- Copy constructor.
public:
IGRPoint2D(const IGRPoint2D&)
- Use this constructor to create an IGRPoint2D object that is copied from the given one.
- IGRPoint2D
- A constant reference to the IGRPoint2D to be copied.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Overload 2
public:
IGRPoint2D( GCoordinate x,
GCoordinate y,
GCoordinate w = 1.0 )
- Use this constructor to create an IGRPoint2D object that uses the given coordinates, with fW=1.0 as the default.
- x
- The new x-coordinate
- y
- The new y-coordinate
- w
- The new w-coordinate
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Overload 3
- Creates an IGRPoint2D whose x and y coordinates equal those of thegiven IGPoint, and whose w coordinate is 1.0.
public:
IGRPoint2D(const IGPoint2D& p)
- Use this constructor to create an IGRPoint2D whose x and y coordinates equal to
those of the given IGPoint object , and whose w coordinate is 1.0.
- IGPoint2D
- A constant reference to the IGPoint2D point whose x and y coordinates are copied to the current IGPoint2D.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Overload 4
- Default constructor.
public:
IGRPoint2D()
- Use the default constructor to create an IGRPoint2D object
with default values of fX=0.0 and fY=0.0 and fW=0.0
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Assignment Operator
Use the function in this group to perform assigment operations.
- operator =
public:
IGRPoint2D& operator =(const IGRPoint2D& Src)
- Assignment operator.
- Src
- The point to be copied.
- Return
- A mutable (non-constant) reference to the left-hand object.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Creating Two-Dimensional Point Objects
Use the functions in this group to create objects of class IGPoint2D
based on the manipulated coordinate values.
- divW
public:
IGPoint2D divW() const
- Divides the coordinates by w to create an IGPoint2D object.
- Return
- The new IGPoint2D, whose x- and y-coordinates are those of this IGRPoint2D, divided by w.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- dropW
public:
IGPoint2D dropW() const
- Creates an IGPoint2D by ignoring the w coordinate.
- Return
- The new IGPoint2D, whose x- and y-coordinates are equal to those of this IGRPoint2D.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Data Types
These data types are define for coordinate values.
- fW
- w-,coordinates
public:
GCoordinate fW
- The W coordinate value.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- fX
- x-,coordinates
public:
GCoordinate fX
- The X coordinate value.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- fY
- y-,coordinates
public:
GCoordinate fY
- The Y coordinate value.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Obtaining Information About Two-Dimensional Points
Use the functions in this group to obtain the x, y, or w coordinates of a point defined by an object of class
IGRPoint2D.
- operator []
Overload 1
- Returns the x, y, or w coordinate of a const IGRPoint2D.
public:
const GCoordinate& operator [](unsigned long index) const
- index
- 0 for the x-coordinate, 1 for the y-coordinate, 2 for the w-coordinate.
- Return
- The specified coordinate.
- Exception
|
| Calls a parameter assert if the index is not 0, 1, or 2.
|
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Overload 2
- Returns the x, y, or w coordinate, depending on the index.
public:
GCoordinate& operator [](unsigned long index)
- index
- 0 for the x-coordinate, 1 for the y-coordinate, 2 for the w-coordinate.
- Return
- The specified coordinate.
- Exception
|
| Calls a parameter assert if the index is not 0, 1, or 2.
|
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Streaming the Object In and Out
Use the functions and operators in this group to stream objects in and out.
- operator <<=
public:
IDataStream& operator <<=(IDataStream&)
- Operator that streams in the homogeneous (rational) point or vector object using the given polymorphic stream.
- IDataStream
- The stream used to stream in the object.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- operator >>=
public:
IDataStream& operator >>=(IDataStream&) const
- Operator that streams out the homogeneous (rational) point or vector object using the given polymorphic stream.
- IDataStream
- The stream used to stream out the object.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- readFromStream
public:
void readFromStream(IDataStream& toWhere)
- Streams in the homogeneous (rational) point or vector object using the polymorphic stream specified by fromWhere.
- fromWhere
- The stream used to stream in the object.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- writeToStream
public:
void writeToStream(IDataStream& toWhere) const
- Streams out the homogeneous (rational) point or vector object using the polymorphic stream specified by toWhere.
- toWhere
- The stream used to stream out the object.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
Testing for Equality and Inequality
Use the functions in this group to test two IGRPoint2D objects for equality or inequality.
- operator !=
public:
bool operator !=(const IGRPoint2D& Src) const
- Tests whether the point's coordinates differ from those of the argument.
- Src
- The point to be compared with.
- Return
- TRUE, if any of Src's coordinates do not match the corresponding coordinate of this one.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
- operator ==
public:
bool operator ==(const IGRPoint2D& Src) const
- Tests whether the point's coordinates equal those of the argument.
- Src
- The point to be compared with.
- Return
- TRUE, if fX, fY, and fW are identical to Src's x-, y-, and w-coordinates, respectively.
- Supported Platforms
| Windows |
OS/2 |
AIX |
| Yes |
Yes |
Yes |
IGRPoint2D - Inherited Member Functions and Data
Inherited Public Functions
Inherited Public Data
Inherited Protected Functions
Inherited Protected Data