Parameterizable four-dimensional point data structure. More...
#include <mitsuba/mitsuba.h>
| Public Types | |
| typedef T | Scalar | 
| typedef TVector4< T > | VectorType | 
| Public Member Functions | |
| TPoint4 () | |
| Construct a new point without initializing it.  More... | |
| TPoint4 (T x, T y, T z, T w) | |
| Initialize the point with the specified X, Y and Z components.  More... | |
| template<typename T2 > | |
| TPoint4 (const TPoint4< T2 > &p) | |
| Initialize the point with the components of another point.  More... | |
| template<typename T2 > | |
| TPoint4 (const TVector4< T2 > &v) | |
| Initialize the point with the components of a vector data structure.  More... | |
| TPoint4 (T val) | |
| Initialize all components of the the point with the specified value.  More... | |
| TPoint4 (Stream *stream) | |
| Unserialize a point from a binary data stream.  More... | |
| TPoint4 | operator+ (const TVector4< T > &v) const | 
| Add a vector to a point and return the result.  More... | |
| TPoint4 | operator+ (const TPoint4 &p) const | 
| Add two points and return the result (e.g. to compute a weighted position)  More... | |
| TPoint4 & | operator+= (const TVector4< T > &v) | 
| Add a vector to this one (e.g. to compute a weighted position)  More... | |
| TPoint4 & | operator+= (const TPoint4 &p) | 
| Add a point to this one (e.g. to compute a weighted position)  More... | |
| TPoint4 | operator- (const TVector4< T > &v) const | 
| Subtract a vector from this point.  More... | |
| TVector4< T > | operator- (const TPoint4 &p) const | 
| Subtract two points from each other and return the difference as a vector.  More... | |
| TPoint4 & | operator-= (const TVector4< T > &v) | 
| Subtract a vector from this point.  More... | |
| TPoint4 | operator* (T f) const | 
| Scale the point's coordinates by the given scalar and return the result.  More... | |
| TPoint4 & | operator*= (T f) | 
| Scale the point's coordinates by the given scalar.  More... | |
| TPoint4 | operator- () const | 
| Return a version of the point, which has been flipped along the origin.  More... | |
| TPoint4 | operator/ (T f) const | 
| Divide the point's coordinates by the given scalar and return the result.  More... | |
| TPoint4 & | operator/= (T f) | 
| Divide the point's coordinates by the given scalar.  More... | |
| T & | operator[] (int i) | 
| Index into the point's components.  More... | |
| T | operator[] (int i) const | 
| Index into the point's components (const version)  More... | |
| bool | isZero () const | 
| Return whether or not this point is identically zero.  More... | |
| bool | operator== (const TPoint4 &v) const | 
| Equality test.  More... | |
| bool | operator!= (const TPoint4 &v) const | 
| Inequality test.  More... | |
| void | serialize (Stream *stream) const | 
| Serialize this point to a binary data stream.  More... | |
| std::string | toString () const | 
| Return a readable string representation of this point.  More... | |
| Public Attributes | |
| T | x | 
| T | y | 
| T | z | 
| T | w | 
| Static Public Attributes | |
| static const int | dim = 4 | 
| Number of dimensions.  More... | |
Parameterizable four-dimensional point data structure.
| typedef T mitsuba::TPoint4< T >::Scalar | 
| typedef TVector4<T> mitsuba::TPoint4< T >::VectorType | 
| 
 | inline | 
Construct a new point without initializing it.
This construtor is useful when the point will either not be used at all (it might be part of a larger data structure) or initialized at a later point in time. Always make sure that one of the two is the case! Otherwise your program will do computations involving uninitialized memory, which will probably lead to a difficult-to-find bug.
| 
 | inline | 
Initialize the point with the specified X, Y and Z components.
| 
 | inlineexplicit | 
Initialize the point with the components of another point.
| 
 | inlineexplicit | 
Initialize the point with the components of a vector data structure.
| 
 | inlineexplicit | 
Initialize all components of the the point with the specified value.
| 
 | inlineexplicit | 
Unserialize a point from a binary data stream.
| 
 | inline | 
Return whether or not this point is identically zero.
| 
 | inline | 
Inequality test.
| 
 | inline | 
Scale the point's coordinates by the given scalar and return the result.
| 
 | inline | 
Scale the point's coordinates by the given scalar.
| 
 | inline | 
Add a vector to a point and return the result.
| 
 | inline | 
Add two points and return the result (e.g. to compute a weighted position)
| 
 | inline | 
Add a vector to this one (e.g. to compute a weighted position)
| 
 | inline | 
Add a point to this one (e.g. to compute a weighted position)
| 
 | inline | 
Subtract a vector from this point.
| 
 | inline | 
Subtract two points from each other and return the difference as a vector.
| 
 | inline | 
Return a version of the point, which has been flipped along the origin.
| 
 | inline | 
Subtract a vector from this point.
| 
 | inline | 
Divide the point's coordinates by the given scalar and return the result.
| 
 | inline | 
Divide the point's coordinates by the given scalar.
| 
 | inline | 
Equality test.
| 
 | inline | 
Index into the point's components.
| 
 | inline | 
Index into the point's components (const version)
| 
 | inline | 
Serialize this point to a binary data stream.
| 
 | inline | 
Return a readable string representation of this point.
| 
 | static | 
Number of dimensions.
| T mitsuba::TPoint4< T >::w | 
| T mitsuba::TPoint4< T >::x | 
| T mitsuba::TPoint4< T >::y | 
| T mitsuba::TPoint4< T >::z |