IGQuadrilateral
- IGQuadrilateral provides a four-sided polygon.
This class specifies the quadrilateral used for specifying perspective and affine mapping.
IGQuadrilateral - Member Functions and Data by Group
Constructors & Destructor
Use the functions in this group to create and destroy quadrilateral objects.
- ~IGQuadrilateral
public:
virtual ~IGQuadrilateral()
- Destroys the quadrilateral object.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- IGQuadrilateral
- Constructs a quadrilateral.
Overload 1
- Creates a quadrilateral for a rectilinear mapping.
public:
IGQuadrilateral(const IGRect2D&)
- Use this constructor to create a quadrilateral object for a rectilinear mapping.
- rect
- A constant reference to a rectangle. (0=TopLeft, 1=TopRight, 2=BottomRight, 3=BottomLeft).
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Overload 2
- Default constructor.
public:
IGQuadrilateral()
- Use this constructor to create an IGQuadrilateral with all vertices at the origin.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Overload 3
- Copy constructor.
public:
IGQuadrilateral(const IGQuadrilateral&)
- Use this constructor to create a quadrilateral object that is copied from the given one.
- src
- A constant reference to the IGQuadrilateral object to be copied.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Overload 4
- Creates a quadrilateral using the given IGPoint2D point values.
public:
IGQuadrilateral( const IGPoint2D& p0,
const IGPoint2D& p1,
const IGPoint2D& p2,
const IGPoint2D& p3 )
- Use this constructor to create a quadrilateral for a general perspective mapping.
- p0
- Vertex 0.
- p1
- Vertex 1.
- p2
- Vertex 2.
- p3
- Vertex 3.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Assignment Operator
Use this function to assign one quadrilateral object to another.
- operator =
public:
IGQuadrilateral& operator =(const IGQuadrilateral& Src)
- Assignment operator.
- src
- A constant reference to the object to be copied.
- Return
- A non-const reference to the left-hand side object.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Modifying Quadrilateral Values
Use the functions in this group to modify the quadrilateral object, for example, to set a specific vertex or to
pass a quadrilateral through a linear transformation.
- setPoint
public:
void setPoint(unsigned long index, const IGPoint2D& p)
- Sets the specified vertex of the quadrilateral.
- index
- The index value for the vertex. It must be less than 4.
- p
- The new value for the vertex.
- Exception
IGraphicException
| when the parameter index is greater than 3.
The errorId is set to IGraphicException::kIndexAboveRange.
|
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- transformBy
public:
void transformBy(const IGrafMatrix& mat)
- Passes a quadrilateral through a linear transformation.
- mat
- A constant reference to the transformation matrix.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Obtaining Information About the Quadrilateral
Use the functions in this group to obtain information about the quadrilateral, such as
whether it is a degenerate polygon, its geometry's
bounding rectangle, the value of a specific vertex, or the values of its four vertices.
- bounds
public:
IGRect2D bounds() const
- Returns the geometry's bounding rectangle, which is the smallest axis-aligned rectangle that encloses the quadrilateral.
- Return
- The bounding rectangle.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- isDegenerate
public:
bool isDegenerate() const
- Checks to see if the IGQuadrilateral is a degenerate polygon.
- Return
- True if the points that make up the quadrilateral are either concave or colinear (no two points are identical or no three points are colinear).
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- point
public:
IGPoint2D point(unsigned long index) const
- Returns the specified vertex of the quadrilateral.
- index
- The index value for the required vertex. It must be less than 4.
- Return
- The specified vertex point.
- Exception
IGraphicException
| when the parameter index is greater than 3.
The errorId is set to IGraphicException::kIndexAboveRange.
|
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- points
public:
void
points( IGPoint2D& p0,
IGPoint2D& p1,
IGPoint2D& p2,
IGPoint2D& p3 ) const
- Returns, in the specified parameters, the quadrilateral's four vertices.
- p0
- Vertex 0.
- p1
- Vertex 1.
- p2
- Vertex 2.
- p3
- Vertex 3.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Streaming the Object In and Out
Use the functions in this group to write the quadrilateral object out to a stream or read it in from a stream using either
the functions or the operators for these purposes. The functions are readFromStream and writeToStream. The
operators are operator <<= and operator >>=.
- operator <<=
public:
IDataStream& operator <<=(IDataStream&)
- Operator that streams in the quadrilateral object from the stream specified.
- inStream
- A reference to the stream from which the object is read.
- Return
- A reference to the original data stream.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- operator >>=
public:
IDataStream& operator >>=(IDataStream&) const
- Operator that streams out the quadrilateral object to the stream specified.
- outStream
- A reference to the stream to which the object is written.
- Return
- A reference to the original data stream.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- readFromStream
public:
void readFromStream(IDataStream& toWhere)
- Reads the object in from the specified stream.
- fromWhere
- A reference to the stream from which the quadrilateral object is read.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- writeToStream
public:
void writeToStream(IDataStream& toWhere) const
- Writes the quadrilateral object out to the specified stream.
- toWhere
- A reference to the stream used to stream the quadrilateral object.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
Testing Two Quadrilaterals for Equality or Inequality
Use the functions in this group to test two quadrilaterals for equality or inequality.
- operator !=
public:
bool operator !=(const IGQuadrilateral& Src) const
- Test the two quadrilaterals for inequality.
- src
- A constant reference to the quadrilateral to be compared with the current one.
- Return
- True if at least one of four corresponding vertices of the quadrilaterals are different.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
- operator ==
public:
bool operator ==(const IGQuadrilateral& Src) const
- Test the two quadrilaterals for equality.
- src
- A constant reference to the quadrilateral to be compared with the current one.
- Return
- True if all four corresponding vertices of the quadrilaterals are equal.
- Supported Platforms
Windows |
OS/2 |
AIX |
Yes |
Yes |
Yes |
IGQuadrilateral - Inherited Member Functions and Data
Inherited Public Functions
Inherited Public Data
Inherited Protected Functions
Inherited Protected Data