void operator= (const Point& p) | Assignment operator |
Makes *this a copy of p.
|
Transform operator*= (const Transform& t) | Operator |
Multiplies transform by t.
By multiplying a Point successively by
one or more Transforms , the effect of the transformations is
"saved up" in transform . Only when an operation that needs
updated values for the world_coordinates is called on a
Point , or the Point is passed as an argument to such an
operation, is the transformation stored in transform applied to
world_coordinates by apply_transform() ,
which subsequently, resets transform to
the identity Transform .
See Point Reference; Applying Transformations.
|
Point operator+ (Point p) | const operator |
Returns a Point with world_coordinates that are the sums of
the corresponding world_coordinates of *this and p,
after they've been updated.
*this remains unchanged; as in many other functions with
Point arguments, p is passed by value, because
apply_transform() must be called on it, in order to update its
world_coordinates . If p were a const Point& , it
would have to copied within the function anyway, because
apply_transform() is a non-const operation.
Point p0(-2, -6, -28); Point p1(3, 14, 92); Point p2(p0 + p1); p2.show("p2:"); -| p2: (1, 8, 64) |
void operator+= (Point p) | Operator |
Adds the updated world_coordinates of p to those of
*this .
Equivalent in effect to shift( p)
In fact, this
function merely calls p.apply_transform() and
Point::shift(real, real, real) with p's x, y, and z
coordinates (from world_coordinates ) as its arguments.
See Point Reference; Affine Transformations.
|
Point operator- (Point p) | const operator |
Returns a Point with world_coordinates representing the
difference between the updated values of
this->world_coordinates and
p.world_coordinates .
|
void operator-= (Point p) | Operator |
Subtracts the updated values of p.world_coordinates from
those of this->world_coordinates .
|
real operator*= (const real r) | Operator |
Multiplies the updated x, y, and z coordinates (world_coordinates ) of
the Point by r and returns r. This makes it possible to
chain invocations of this function.
If Point P(1, 2, 3); P *= 7; P.show("P:"); -| P: (7, 14, 21); Point Q(1.5, 2.7, 13.82); Q *= P *= -1.28; P.show("P:"); -| P: (-8.96, -17.92, -26.88) Q.show("Q:"); -| Q: (-1.92, -3.456, -17.6896) |
Point operator* (const real r) | const operator |
Returns a Point with x, y, and z coordinates
(world_coordinates ) equal to the updated x, y, and z coordinates
of *this multiplied by r.
|
Point operator* (const real r, const Point& p) | Non-member operator |
Equivalent to Point::operator*(const real r) (see above),
but with r placed first.
Point p0(10, 11, 12); real r = 2.5; Point p1 = r * p0; p1.show(); -|Point: -|(25, 27.5, 30) |
Point operator- (void) | const operator |
Unary minus (prefix). Returns a Point with x, y, and z
coordinates (world_coordinates ) equal to the
the x, y, and z-coordinates (world_coordinates ) of
*this multiplied by -1.
|
void operator/= (const real r) | Operator |
Divides the updated x, y, and z coordinates (world_coordinates ) of
the Point by r.
|
Point operator/ (const real r) | const operator |
Returns a Point with x, y, and z coordinates
(world_coordinates ) equal to the updated x, y, and z coordinates
of *this
divided by r.
|
bool operator== (Point p) | Operator |
bool operator== (const Point& p) | const operator |
Equality comparison for Points . These functions return
true if the updated values of the world_coordinates of the two
Points differ by less than the value returned by
Point::epsilon() , otherwise false .
See Point Reference; Returning Information.
|
bool operator!= (const Point& p) | const operator |
Inequality comparison for Points . Returns false if
*this == p , otherwise true .
|