Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::TPoint1< T > Struct Template Reference

Parameterizable one-dimensional point data structure. More...

#include <mitsuba/mitsuba.h>

Public Types

typedef T Scalar
 
typedef TVector1< T > VectorType
 

Public Member Functions

 TPoint1 ()
 Construct a new point without initializing it. More...
 
 TPoint1 (T x)
 Initialize the point with the specified value. More...
 
template<typename T1 >
 TPoint1 (const TPoint1< T1 > &p)
 Initialize the point with the components of another point. More...
 
template<typename T1 >
 TPoint1 (const TVector1< T1 > &v)
 Initialize the point with the components of a vector data structure. More...
 
 TPoint1 (Stream *stream)
 Unserialize a point from a binary data stream. More...
 
TPoint1 operator+ (const TVector1< T > &v) const
 Add a vector to a point and return the result. More...
 
TPoint1 operator+ (const TPoint1 &p) const
 Add two points and return the result (e.g. to compute a weighted position) More...
 
TPoint1operator+= (const TVector1< T > &v)
 Add a vector to this one (e.g. to compute a weighted position) More...
 
TPoint1operator+= (const TPoint1 &p)
 Add a point to this one (e.g. to compute a weighted position) More...
 
TPoint1 operator- (const TVector1< T > &v) const
 Subtract a vector from this point. More...
 
TVector1< T > operator- (const TPoint1 &p) const
 Subtract two points from each other and return the difference as a vector. More...
 
TPoint1operator-= (const TVector1< T > &v)
 Subtract a vector from this point. More...
 
TPoint1 operator* (T f) const
 Scale the point's coordinates by the given scalar and return the result. More...
 
TPoint1operator*= (T f)
 Scale the point's coordinates by the given scalar. More...
 
TPoint1 operator- () const
 Return a version of the point, which has been flipped along the origin. More...
 
TPoint1 operator/ (T f) const
 Divide the point's coordinates by the given scalar and return the result. More...
 
TPoint1operator/= (T f)
 Divide the point's coordinates by the given scalar. More...
 
T & operator[] (int i)
 Index into the point's components. More...
 
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 TPoint1 &v) const
 Equality test. More...
 
bool operator!= (const TPoint1 &v) const
 Inequality test. More...
 
void serialize (Stream *stream) const
 Serialize this point to a binary data stream. More...
 
 operator Scalar () const
 Implicit conversion to Scalar. More...
 
std::string toString () const
 Return a readable string representation of this point. More...
 

Public Attributes

x
 

Static Public Attributes

static const int dim = 1
 Number of dimensions. More...
 

Detailed Description

template<typename T>
struct mitsuba::TPoint1< T >

Parameterizable one-dimensional point data structure.

Member Typedef Documentation

template<typename T>
typedef T mitsuba::TPoint1< T >::Scalar
template<typename T>
typedef TVector1<T> mitsuba::TPoint1< T >::VectorType

Constructor & Destructor Documentation

template<typename T>
mitsuba::TPoint1< T >::TPoint1 ( )
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.

template<typename T>
mitsuba::TPoint1< T >::TPoint1 ( x)
inline

Initialize the point with the specified value.

template<typename T>
template<typename T1 >
mitsuba::TPoint1< T >::TPoint1 ( const TPoint1< T1 > &  p)
inlineexplicit

Initialize the point with the components of another point.

template<typename T>
template<typename T1 >
mitsuba::TPoint1< T >::TPoint1 ( const TVector1< T1 > &  v)
inlineexplicit

Initialize the point with the components of a vector data structure.

template<typename T>
mitsuba::TPoint1< T >::TPoint1 ( Stream stream)
inlineexplicit

Unserialize a point from a binary data stream.

Member Function Documentation

template<typename T>
bool mitsuba::TPoint1< T >::isZero ( ) const
inline

Return whether or not this point is identically zero.

template<typename T>
mitsuba::TPoint1< T >::operator Scalar ( ) const
inline

Implicit conversion to Scalar.

template<typename T>
bool mitsuba::TPoint1< T >::operator!= ( const TPoint1< T > &  v) const
inline

Inequality test.

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator* ( f) const
inline

Scale the point's coordinates by the given scalar and return the result.

template<typename T>
TPoint1& mitsuba::TPoint1< T >::operator*= ( f)
inline

Scale the point's coordinates by the given scalar.

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator+ ( const TVector1< T > &  v) const
inline

Add a vector to a point and return the result.

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator+ ( const TPoint1< T > &  p) const
inline

Add two points and return the result (e.g. to compute a weighted position)

template<typename T>
TPoint1& mitsuba::TPoint1< T >::operator+= ( const TVector1< T > &  v)
inline

Add a vector to this one (e.g. to compute a weighted position)

template<typename T>
TPoint1& mitsuba::TPoint1< T >::operator+= ( const TPoint1< T > &  p)
inline

Add a point to this one (e.g. to compute a weighted position)

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator- ( const TVector1< T > &  v) const
inline

Subtract a vector from this point.

template<typename T>
TVector1<T> mitsuba::TPoint1< T >::operator- ( const TPoint1< T > &  p) const
inline

Subtract two points from each other and return the difference as a vector.

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator- ( ) const
inline

Return a version of the point, which has been flipped along the origin.

template<typename T>
TPoint1& mitsuba::TPoint1< T >::operator-= ( const TVector1< T > &  v)
inline

Subtract a vector from this point.

template<typename T>
TPoint1 mitsuba::TPoint1< T >::operator/ ( f) const
inline

Divide the point's coordinates by the given scalar and return the result.

template<typename T>
TPoint1& mitsuba::TPoint1< T >::operator/= ( f)
inline

Divide the point's coordinates by the given scalar.

template<typename T>
bool mitsuba::TPoint1< T >::operator== ( const TPoint1< T > &  v) const
inline

Equality test.

template<typename T>
T& mitsuba::TPoint1< T >::operator[] ( int  i)
inline

Index into the point's components.

template<typename T>
T mitsuba::TPoint1< T >::operator[] ( int  i) const
inline

Index into the point's components (const version)

template<typename T>
void mitsuba::TPoint1< T >::serialize ( Stream stream) const
inline

Serialize this point to a binary data stream.

template<typename T>
std::string mitsuba::TPoint1< T >::toString ( ) const
inline

Return a readable string representation of this point.

Member Data Documentation

template<typename T>
const int mitsuba::TPoint1< T >::dim = 1
static

Number of dimensions.

template<typename T>
T mitsuba::TPoint1< T >::x

The documentation for this struct was generated from the following file: