R2Shapes Package
Description:
The R2Shapes package supports basic 2D geometry classes.
It contains classes representing 2D primitives (such as vectors,
points, lines, rays, spans, etc.). It also contains
classes for 2D images (array of RGB pixels), transformations (such as 3x3 matrices, etc.),
and higher level 2D shapes (such as circles, arcs, boxes, etc).
For all pairs of 2D primitives (and many 2D shapes), functions are
provided for computing the relationships between them. For instance,
there are functions to compute the distance between primitives
(R2Distance), check for intersections (R2Intersects), check whether
one primitive contains another (R2Contains), compute whether
primitives are perpendicular (R2Perpendicular), and check whether
primitives are parallel (R2Parallel).
List of Classes:
List of Functions:
-
2D Relationships:
- R2Distance - returns distance between two primitives.
- R2Intersects - returns whether two primitives intersect.
- R2Contains - returns whether one primitive contains another.
- R2Inside - returns whether one primitive is contained by another.
- R2Parallel - returns whether one primitive is parallel to another.
- R2Perpendicular - returns whether one primitive is perpendicular to another.
Example:
Click this to see a sample program.
-
Base Classes:
-
Public Base Classes:
- R2Transformation
-
Member Functions:
-
Constructor functions:
- R2Affine(void);
- R2Affine(const R3Matrix& matrix, RNBoolean mirror = 0);
-
-
Property functions/operators:
- const R3Matrix& Matrix(void) const;
- const R3Matrix InverseMatrix(void) const;
- const RNBoolean IsMirrored(void) const;
- const RNBoolean IsAffine(void) const;
- const RNBoolean IsIsotropic(void) const;
-
-
Application functions/operators:
- virtual void Apply(R2Vector& vector) const;
- virtual void Apply(R2Point& point) const;
- virtual void Apply(R2Transformation& transformation) const;
- virtual void Apply(R2Affine& affine) const;
- virtual void ApplyInverse(R2Vector& vector) const;
- virtual void ApplyInverse(R2Point& point) const;
- virtual void ApplyInverse(R2Transformation& transformation) const;
- virtual void ApplyInverse(R2Affine& affine) const;
-
-
Manipulation functions/operators:
- void XMirror(void);
- void YMirror(void);
- void Mirror(void);
- void XTranslate(RNScalar offset);
- void YTranslate(RNScalar offset);
- void Translate(RNScalar offset);
- void Translate(RNAxis axis, RNScalar offset);
- void Translate(const R2Vector& offset);
- void XScale(RNScalar scale);
- void YScale(RNScalar scale);
- void Scale(RNScalar scale);
- void Scale(RNAxis axis, RNScalar scale);
- void Scale(const R2Vector& scale);
- void Rotate(RNAngle radians);
- void Transform(const R2Transformation& transformation);
- void Transform(const R2Affine& affine);
- void InverseTransform(const R2Transformation& transformation);
- void InverseTransform(const R2Affine& affine);
- void Reset(const R2Transformation& transformation);
- void Reset(const R3Matrix& matrix, RNBoolean mirror = 0);
-
-
Draw functions/operators:
- virtual void Load(void) const;
- virtual void Draw(void) const;
- virtual void Push(void) const;
- virtual void Pop(void) const;
-
-
Base Classes:
-
Public Base Classes:
- R2Curve
-
Member Functions:
-
Constructor functions:
- R2Arc(void);
- R2Arc(const R2Arc& arc);
- R2Arc(const R2Point& center, RNLength radius, RNAngle start, RNAngle stop);
-
-
Arc property functions/operators:
- const R2Circle& Circle(void) const;
- const R2Point& Center(void) const;
- const RNLength Radius(void) const;
- const RNAngle StartAngle(void) const;
- const RNAngle StopAngle(void) const;
- const RNAngle SweepAngle(void) const;
- const R2Point Point(RNAngle angle) const;
- const R2Point MidPoint(void) const;
- const R2Point StartPoint(void) const;
- const R2Point StopPoint(void) const;
- const RNBoolean IsEmpty(void) const;
- const RNBoolean IsFinite(void) const;
-
-
Shape property functions/operators:
- virtual const RNBoolean IsPoint(void) const;
- virtual const RNBoolean IsLinear(void) const ;
- virtual const RNBoolean IsConvex(void) const ;
- virtual const R2Point Centroid(void) const;
- virtual const R2Shape& BShape(void) const;
- virtual const R2Box BBox(void) const;
- virtual const R2Circle BCircle(void) const;
-
-
Manipulation functions/operators:
- virtual void Empty(void);
- virtual void SetStartAngle(RNAngle theta);
- virtual void SetStopAngle(RNAngle theta);
- virtual void Translate(const R2Vector& vector);
- virtual void Reposition(const R2Point& center);
- virtual void Resize(RNLength radius);
- virtual void Transform(const R2Transformation& transformation);
-
-
Draw functions/operators:
- virtual void Draw(const R2DrawFlags draw_flags = R2_DEFAULT_DRAW_FLAGS) const;
-
-
Base Classes:
-
Public Base Classes:
- R2Solid
-
Member Functions:
-
Constructor functions:
- R2Box(void);
- R2Box(const R2Box& box);
- R2Box(const R2Point& min, const R2Point& max);
- R2Box(const R2Point& center, RNLength width, RNLength height);
- R2Box(RNCoord xmin, RNCoord ymin, RNCoord xmax, RNCoord ymax);
-
-
Box property functions/operators:
- const RNCoord XMin(void) const;
- const RNCoord YMin(void) const;
- const RNCoord XMax(void) const;
- const RNCoord YMax(void) const;
- const RNCoord Coord(RNDirection dir, RNDimension dim) const;
- const R2Point& Min(void) const;
- const R2Point& Max(void) const;
- const R2Point Corner(RNQuadrant octant) const;
- const R2Point Corner(RNDirection xdir, RNDirection ydir) const;
- const R2Point Centroid(void) const;
- const R2Point ClosestPoint(const R2Point& point) const;
- const R2Box Quadrant(RNQuadrant octant) const;
- const R2Box Quadrant(RNDirection xdir, RNDirection ydir) const;
- const RNBoolean IsEmpty(void) const;
- const RNBoolean IsFinite(void) const;
- const int NDimensions(void) const;
- const RNBoolean IsAxisNull(const RNAxis axis) const;
- const RNLength XLength(void) const;
- const RNLength YLength(void) const;
- const RNLength AxisLength(const RNAxis axis) const;
- const RNLength DiagonalLength(void) const;
- const RNLength XRadius(void) const;
- const RNLength YRadius(void) const;
- const RNLength AxisRadius(const RNAxis axis) const;
- const RNLength DiagonalRadius(void) const;
- const RNCoord XCenter(void) const;
- const RNCoord YCenter(void) const;
- const RNCoord AxisCenter(const RNAxis axis) const;
- const RNAxis ShortestAxis(void) const;
- const RNAxis LongestAxis(void) const;
- const RNLength ShortestAxisLength(void) const;
- const RNLength LongestAxisLength(void) const;
-
-
Shape property functions:
- virtual const RNBoolean IsPoint(void) const;
- virtual const RNBoolean IsLinear(void) const;
- virtual const RNBoolean IsConvex(void) const;
- virtual const RNArea Area(void) const;
- virtual const R2Shape& BShape(void) const;
- virtual const R2Box BBox(void) const;
- virtual const R2Circle BCircle(void) const;
-
-
Manipulation functions/operators:
- virtual void Empty(void);
- virtual void Translate(const R2Vector& vector);
- virtual void Union(const R2Point& point);
- virtual void Union(const R2Box& box);
- virtual void Union(const R2Circle& circle);
- virtual void Intersect(const R2Box& box);
- virtual void Transform(const R2Transformation& transformation);
-
-
Draw functions/operators:
- virtual void Draw(const R2DrawFlags draw_flags = R2_DEFAULT_DRAW_FLAGS) const;
-
-
Relationship functions/operators:
- RNBoolean operator==(const R2Box& box) const;
- RNBoolean operator!=(const R2Box& box) const;
-
-
Undocumented functions/operators:
- const R2Point& operator[](RNDirection dir) const;
- R2Point& operator[](RNDirection dir);
-
-
Base Classes:
-
Public Base Classes:
- R2Solid
-
Member Functions:
-
Constructor functions:
- R2Circle(void);
- R2Circle(const R2Circle& circle);
- R2Circle(const R2Point& center, RNLength radius);
-
-
Circle property functions/operators:
- const R2Point& Center(void) const;
- const RNLength Radius(void) const;
- const RNBoolean IsEmpty(void) const;
- const RNBoolean IsFinite(void) const;
-
-
Shape property functions/operators:
- virtual const RNBoolean IsPoint(void) const;
- virtual const RNBoolean IsLinear(void) const ;
- virtual const RNBoolean IsConvex(void) const ;
- virtual const RNArea Area(void) const;
- virtual const R2Point Centroid(void) const;
- virtual const R2Shape& BShape(void) const;
- virtual const R2Box BBox(void) const;
- virtual const R2Circle BCircle(void) const;
-
-
Manipulation functions/operators:
- virtual void Empty(void);
- virtual void Translate(const R2Vector& vector);
- virtual void Reposition(const R2Point& center);
- virtual void Resize(RNLength radius);
- virtual void Transform(const R2Transformation& transformation);
-
-
Draw functions/operators:
- virtual void Draw(const R2DrawFlags draw_flags = R2_DEFAULT_DRAW_FLAGS) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor functions:
- R2Halfspace(void);
- R2Halfspace(const R2Halfspace& halfspace);
- R2Halfspace(RNScalar a, RNScalar b, RNScalar c);
- R2Halfspace(const RNScalar array[3]);
- R2Halfspace(const R2Point& point, const R2Vector& normal);
- R2Halfspace(const R2Point& point1, const R2Point& point2);
- R2Halfspace(RNCoord x1, RNCoord y1, RNCoord x2, RNCoord y2);
- R2Halfspace(const R2Line& line, int dummy);
-
-
Property functions/operators:
- const R2Line& Line(void) const;
- const R2Vector& Normal(void) const;
- const RNBoolean IsZero(void) const;
- const RNBoolean operator==(const R2Halfspace& halfspace) const;
- const RNBoolean operator!=(const R2Halfspace& halfspace) const;
-
-
Manipulation functions/operators:
- void Flip(void);
- void Mirror(const R2Line& line);
- void Translate(const R2Vector& vector);
- void Reposition(const R2Point& point);
- void Align(const R2Vector& vector);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(const R2Line& line);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Arithmetic functions/operators:
- R2Halfspace operator-(void) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructors:
- R2Image(void);
- R2Image(const char *filename);
- R2Image(int width, int height, int ncomponents = 3);
- R2Image(int width, int height, int ncomponents, unsigned char *data);
- R2Image(const R2Image& image);
- ~R2Image(void);
-
-
Accessors:
- const unsigned char *Pixels(void) const;
- const unsigned char *Pixels(int row) const;
- const unsigned char *Pixel(int row, int column) const;
- const RNRgb PixelRGB(int row, int column) const;
- int Width(void) const;
- int Height(void) const;
- int Depth(void) const;
- int NComponents(void) const;
- int RowSize(void) const;
- int Size(void) const;
-
-
Manipulation:
- void Add(const R2Image& image);
- void Subtract(const R2Image& image);
- void SetPixelRGB(int row, int column, const RNRgb& rgb);
-
-
Reading/writing:
- int Read(const char *filename);
- int ReadBMP(const char *filename);
- int ReadPPM(const char *filename);
- int ReadJPEG(const char *filename);
- int Write(const char *filename) const;
- int WriteBMP(const char *filename) const;
- int WritePPM(const char *filename, int ascii = 0) const;
- int WriteJPEG(const char *filename) const;
- void Capture(void);
-
-
Draw functions:
- void Draw(void) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor functions:
- R2Line(void);
- R2Line(const R2Line& line);
- R2Line(const RNScalar a, const RNScalar b, const RNScalar c);
- R2Line(const RNScalar array[3]);
- R2Line(const R2Point& point, const R2Vector& vector, RNBoolean normalized = FALSE);
- R2Line(const R2Point& point1, const R2Point& point2);
- R2Line(RNCoord x1, RNCoord y1, RNCoord x2, RNCoord y2);
-
-
Property functions/operators:
- const RNScalar A(void) const;
- const RNScalar B(void) const;
- const RNScalar C(void) const;
- const R2Point Point(void) const;
- const R2Vector& Vector(void) const;
- const R2Vector& Normal(void) const;
- const RNBoolean IsZero(void) const;
- const RNBoolean operator==(const R2Line& line) const;
- const RNBoolean operator!=(const R2Line& line) const;
-
-
Manipulation functions/operators:
- void Flip(void);
- void Mirror(const R2Line& line);
- void Project(const R2Line& line);
- void Translate(const R2Vector& vector);
- void Reposition(const R2Point& point);
- void Align(const R2Vector& vector, RNBoolean normalized = FALSE);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(const R2Point& point, const R2Vector& vector, RNBoolean normalized = FALSE);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Arithmetic functions/operators:
- R2Line operator-(void) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor/destructor functions:
- R2Point(void);
- R2Point(const R2Point& point);
- R2Point(RNCoord x, RNCoord y);
- R2Point(const RNCoord array[2]);
-
-
Property functions/operators:
- const RNCoord X(void) const;
- const RNCoord Y(void) const;
- const RNCoord Coord(RNDimension dim) const;
- const RNCoord operator[](RNDimension dim) const;
- const RNCoord *Coords(void) const;
- const RNBoolean IsZero(void) const;
- const RNBoolean IsFinite(void) const;
- const R2Vector Vector(void) const;
-
-
Relationship functions/operators:
- const RNBoolean Collinear(const R2Point& point1, const R2Point& point2) const;
- const RNBoolean operator==(const R2Point& point) const;
- const RNBoolean operator!=(const R2Point& point) const;
-
-
Manipulation functions/operators:
- void X(RNCoord x);
- void Y(RNCoord y);
- void SetCoord(RNDimension dim, RNCoord coord);
- void Translate(const R2Vector& vector);
- void Project(const R2Line& line);
- void Mirror(const R2Line& line);
- void Rotate(const R2Point& origin, RNAngle theta);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(RNCoord x, RNCoord y);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Assignment operators:
- R2Point& operator=(const R2Point& point);
- R2Point& operator+=(const R2Point& point);
- R2Point& operator+=(const R2Vector& vector);
- R2Point& operator-=(const R2Vector& vector);
- R2Point& operator*=(const RNScalar a);
- R2Point& operator*=(const R3Matrix& m);
- R2Point& operator/=(const RNScalar a);
-
-
Arithmetic operators:
- friend R2Point operator+(const R2Point& point);
- friend R2Point operator-(const R2Point& point);
- friend R2Point operator+(const R2Point& point1, const R2Point& point2) ;
- friend R2Point operator+(const R2Point& point, const R2Vector& vector) ;
- friend R2Point operator+(const R2Vector& vector, const R2Point& point) ;
- friend R2Vector operator-(const R2Point& point1, const R2Point& point2);
- friend R2Point operator-(const R2Point& point, const R2Vector& vector);
- friend R2Point operator*(const R2Point& point, const RNScalar a);
- friend R2Point operator*(const RNScalar a, const R2Point& point);
- friend R2Point operator*(const R2Point& point, const R3Matrix& m);
- friend R2Point operator/(const R2Point& point, const RNScalar a);
-
-
Undocumented functions/operators:
- RNCoord& operator[](RNDimension dim);
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor functions:
- R2Ray(void);
- R2Ray(const R2Ray& ray);
- R2Ray(const R2Point& point, const R2Vector& vector, RNBoolean normalized = FALSE);
- R2Ray(const R2Point& point1, const R2Point& point2);
- R2Ray(RNCoord x1, RNCoord y1, RNCoord x2, RNCoord y2);
-
-
Property functions/operators:
- const R2Point& Start(void) const;
- const R2Vector& Vector(void) const;
- const R2Vector& Normal(void) const;
- const R2Line& Line(void) const;
- const R2Point Point(RNScalar t) const;
- const RNScalar T(const R2Point& point) const;
- const RNBoolean IsZero(void) const;
- const RNBoolean operator==(const R2Ray& ray) const;
- const RNBoolean operator!=(const R2Ray& ray) const;
-
-
Manipulation functions/operators:
- void Flip(void);
- void Project(const R2Line& line);
- void Mirror(const R2Line& line);
- void Translate(const R2Vector& vector);
- void Reposition(const R2Point& point);
- void Align(const R2Vector& vector);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(const R2Point& point, const R2Vector& vector, RNBoolean normalized = FALSE);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Arithmetic functions/operators:
- R2Ray operator-(void) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor functions:
- R2Span(void);
- R2Span(const R2Span& span);
- R2Span(const R2Point& point, const R2Vector& vector);
- R2Span(const R2Point& point1, const R2Point& point2);
- R2Span(RNCoord x1, RNCoord y1, RNCoord x2, RNCoord y2);
-
-
Property functions/operators:
- const R2Point& Start(void) const;
- const R2Point& End(void) const;
- const R2Vector& Vector(void) const;
- const R2Vector& Normal(void) const;
- const R2Point Point(int k) const;
- const R2Point Point(RNScalar t) const;
- const R2Point& operator[](int k) const;
- const R2Ray& Ray(void) const;
- const R2Line& Line(void) const;
- const R2Point Midpoint(void) const;
- const R2Point Centroid(void) const;
- const RNLength Length(void) const;
- const RNScalar T(const R2Point& point) const;
- const RNBoolean IsPoint(void) const;
- const RNBoolean operator==(const R2Span& span) const;
- const RNBoolean operator!=(const R2Span& span) const;
- const R2Box BBox(void) const;
- const R2Circle BCircle(void) const;
-
-
Manipulation functions/operators:
- void Flip(void);
- void Project(const R2Line& line);
- void Mirror(const R2Line& line);
- void Translate(const R2Vector& vector);
- void Reposition(int k, const R2Point& point);
- void Align(const R2Vector& vector);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(const R2Point& point1, const R2Point& point2);
- RNClassID Clip(const R2Line& line);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Arithmetic functions/operators:
- R2Span operator-(void) const;
-
-
Base Classes:
-
Public Base Classes:
- None
-
Member Functions:
-
Constructor functions:
- R2Vector(void);
- R2Vector(const R2Vector& vector);
- R2Vector(RNCoord x, RNCoord y);
- R2Vector(const RNCoord array[2]);
- R2Vector(RNAngle angle);
-
-
Property functions/operators:
- const RNCoord X(void) const;
- const RNCoord Y(void) const;
- const RNCoord Coord(RNDimension dim) const;
- const RNCoord operator[](RNDimension dim) const;
- const RNCoord *Coords(void) const;
- const RNBoolean IsZero(void) const;
- const RNBoolean IsFinite(void) const;
- const RNBoolean IsNormalized(void) const;
- const RNLength Length(void) const;
- const R2Point Point(void) const;
- const RNQuadrant Quadrant(void) const;
- const RNDimension MaxDimension(void) const;
-
-
Relationship functions/operators:
- const RNBoolean operator==(const R2Vector& vector) const;
- const RNBoolean operator!=(const R2Vector& vector) const;
- const RNScalar Dot(const R2Vector& vector) const;
-
-
Manipulation functions/operators:
- void X(RNCoord x);
- void Y(RNCoord y);
- void SetCoord(RNDimension dim, RNCoord coord);
- void Flip(void);
- void Normalize(void);
- void Scale(RNScalar a);
- void Rotate(RNAngle theta);
- void Project(const R2Vector& vector);
- void Mirror(const R2Line& line);
- void Transform(const R2Transformation& transformation);
- void InverseTransform(const R2Transformation& transformation);
- void Reset(RNCoord x, RNCoord y);
-
-
Draw functions/operators:
- void Draw(void) const;
-
-
Assignment operators:
- R2Vector& operator=(const R2Vector& vector);
- R2Vector& operator+=(const R2Vector& vector);
- R2Vector& operator-=(const R2Vector& vector);
- R2Vector& operator*=(const RNScalar a);
- R2Vector& operator*=(const R2Vector& vector);
- R2Vector& operator*=(const R3Matrix& matrix);
- R2Vector& operator/=(const RNScalar a);
- R2Vector& operator/=(const R2Vector& vector);
-
-
Arithmetic operators:
- friend R2Vector operator+(const R2Vector& vector);
- friend R2Vector operator-(const R2Vector& vector);
- friend R2Vector operator+(const R2Vector& vector1, const R2Vector& vector2) ;
- friend R2Vector operator-(const R2Vector& vector1, const R2Vector& vector2);
- friend R2Vector operator*(const R2Vector& vector1, const R2Vector& vector2);
- friend R2Vector operator*(const R2Vector& vector, const RNScalar a);
- friend R2Vector operator*(const RNScalar a, const R2Vector& vector);
- friend R2Vector operator*(const R2Vector& vector, const R3Matrix& m);
- friend R2Vector operator/(const R2Vector& vector1, const R2Vector& vector2);
- friend R2Vector operator/(const R2Vector& vector, const RNScalar a);
- friend RNScalar operator%(const R2Vector& vector1, const R2Vector& vector2);
-
-
Undocumented functions/operators:
- RNCoord& operator[](RNDimension dim);
-
-
Base Classes:
-
Public Base Classes:
- R2Base
-
Member Functions:
-
Property functions/operators:
- virtual const RNBoolean IsMirrored(void) const;
- virtual const RNBoolean IsLinear(void) const;
- virtual const RNBoolean IsAffine(void) const;
- virtual const RNBoolean IsIsotropic(void) const;
-
-
Application functions/operators:
- virtual void Apply(R2Vector& vector) const = 0;
- virtual void Apply(R2Point& point) const = 0;
- virtual void Apply(R2Transformation& transformation) const = 0;
- virtual void Apply(R2Affine& affine) const = 0;
- virtual void ApplyInverse(R2Vector& vector) const = 0;
- virtual void ApplyInverse(R2Point& point) const = 0;
- virtual void ApplyInverse(R2Transformation& transformation) const = 0;
- virtual void ApplyInverse(R2Affine& affine) const = 0;
-
-
Manipulation functions/operators:
- virtual void Reset(const R2Transformation& transformation) = 0;
- virtual void Transform(const R2Transformation& transformation) = 0;
- virtual void InverseTransform(const R2Transformation& transformation) = 0;
-
-
Draw functions/operators:
- virtual void Load(void) const = 0;
- virtual void Draw(void) const = 0;
- virtual void Push(void) const = 0;
- virtual void Pop(void) const = 0;
-
Base Classes:
-
Public Base Classes:
- R3Base
-
Member Functions:
-
Constructor functions:
- R3Matrix(void);
- R3Matrix(const R3Matrix& matrix);
- R3Matrix(RNScalar a00, RNScalar a01, RNScalar a02,
- RNScalar a10, RNScalar a11, RNScalar a12,
- RNScalar a20, RNScalar a21, RNScalar a22);
- R3Matrix(const RNScalar* array);
-
-
Property functions/operators:
- const int IsZero(void) const;
- const int IsIdentity(void) const;
- const RNScalar *operator[](int i) const;
- const RNScalar Determinant(void) const;
- const R3Matrix Transpose(void) const;
- const R3Matrix Inverse(void) const;
- const RNBoolean operator==(const R3Matrix& matrix) const;
- const RNBoolean operator!=(const R3Matrix& matrix) const;
-
-
Manipulation functions/operators:
- void Flip(void);
- void Invert(void);
- void XTranslate(RNScalar offset);
- void YTranslate(RNScalar offset);
- void Translate(RNScalar offset);
- void Translate(RNAxis axis, RNScalar offset);
- void Translate(const R2Vector& offset);
- void XScale(RNScalar scale);
- void YScale(RNScalar scale);
- void Scale(RNScalar scale);
- void Scale(RNAxis axis, RNScalar scale);
- void Scale(const R2Vector& scale);
- void Rotate(RNAngle radians);
- void Transform(const R3Matrix& matrix);
- void Multiply(const R3Matrix& matrix);
- void Add(const R3Matrix& matrix);
- void Subtract(const R3Matrix& matrix);
-
-
Assignment operators:
- R3Matrix& operator=(const R3Matrix& matrix);
- R3Matrix& operator+=(const R3Matrix& matrix);
- R3Matrix& operator-=(const R3Matrix& matrix);
- R3Matrix& operator*=(RNScalar a);
- R3Matrix& operator*=(const R3Matrix& matrix);
- R3Matrix& operator/=(RNScalar a);
-
-
Draw functions/operators:
- void Load(void) const;
- void Draw(void) const;
- void Push(void) const;
- void Pop(void) const;
-
-
Arithmetic operators:
- friend R3Matrix operator-(const R3Matrix& matrix);
- friend R3Matrix operator+(const R3Matrix& matrix1, const R3Matrix& matrix2);
- friend R3Matrix operator-(const R3Matrix& matrix1, const R3Matrix& matrix2);
- friend R3Matrix operator*(RNScalar a, const R3Matrix& matrix);
- friend R3Matrix operator*(const R3Matrix& matrix, RNScalar a);
- friend R3Matrix operator*(const R3Matrix& matrix1, const R3Matrix& matrix2);
- friend R3Matrix operator/(const R3Matrix& matrix, RNScalar scale);
- friend R2Vector operator*(const R3Matrix& matrix, const R2Vector& vector);
- friend R2Point operator*(const R3Matrix& matrix, const R2Point& point);
-
-
Undocumented functions/operators:
- RNScalar *operator[](int i);
-
Click this to go back to main page.