Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

toxic::Basis Class Reference

#include <basis.h>

Inheritance diagram for toxic::Basis:

toxic::Camera toxic::ICamera toxic::IObject toxic::PointLight toxic::PinholeCamera toxic::ThinLensCamera toxic::Collection toxic::IBoundedObject toxic::Plane toxic::DummyObject toxic::IAreaLight toxic::Octree toxic::Cube toxic::Mesh toxic::Ring toxic::Sphere toxic::Square List of all members.

Public Member Functions

 Basis (const sheep::Matrix4 &m)
 m is the local space to world space transformation matrix.

sheep::Vector3 TransformToWorld (const sheep::Vector3 &v) const
 Vector v is expressed in local space, returned vector is expressed in world space.

sheep::Point3 TransformToWorld (const sheep::Point3 &v) const
 Point p is expressed in local space, returned point is expressed in world space.

sheep::Vector3 TransformToLocal (const sheep::Vector3 &v) const
 Vector v is expressed in world space, returned vector is expressed in local space.

sheep::Point3 TransformToLocal (const sheep::Point3 &v) const
 Point p is expressed in world space, returned point is expressed in local space.

Ray TransformToWorld (const Ray &r) const
Ray TransformToLocal (const Ray &r) const
sheep::Vector3 TransformNormalToWorld (const sheep::Vector3 &n) const
sheep::Vector3 TransformNormalToLocal (const sheep::Vector3 &n) const

Protected Attributes

sheep::Matrix4 m_m
 Local space to world space vector transformation matrix.

sheep::Matrix4 m_inv_m
 World space to local space vector transformation matrix.

sheep::Matrix4 m_tr_inv_m
 Local space to world space normal transformation matrix.

sheep::Matrix4 m_tr_m
 World space to local space normal transformation matrix.


Constructor & Destructor Documentation

Basis::Basis const sheep::Matrix4 m  ) 
 

m is the local space to world space transformation matrix.

Definition at line 28 of file basis.cpp.


Member Function Documentation

sheep::Vector3 Basis::TransformNormalToLocal const sheep::Vector3 n  )  const [inline]
 

Normal n is expressed in world space, returned normal is expressed in local space. The returned vector IS unit-length.

Definition at line 144 of file basis.h.

sheep::Vector3 Basis::TransformNormalToWorld const sheep::Vector3 n  )  const [inline]
 

Normal n is expressed in local space, returned normal is expressed in world space. The returned vector IS unit-length.

Definition at line 137 of file basis.h.

Referenced by toxic::Mesh::Annotate(), toxic::Sphere::ComputeIrradiance(), and toxic::Sphere::EvaluateSurface().

Ray Basis::TransformToLocal const Ray r  )  const [inline]
 

Ray r is expressed in world space, returned ray is expressed in local space. Direction vector of the returned ray MAY NOT be unit-length.

Definition at line 130 of file basis.h.

sheep::Point3 Basis::TransformToLocal const sheep::Point3 v  )  const [inline]
 

Point p is expressed in world space, returned point is expressed in local space.

Definition at line 116 of file basis.h.

sheep::Vector3 Basis::TransformToLocal const sheep::Vector3 v  )  const [inline]
 

Vector v is expressed in world space, returned vector is expressed in local space.

Definition at line 110 of file basis.h.

Referenced by toxic::Square::Intersect(), toxic::Sphere::Intersect(), toxic::Ring::Intersect(), and toxic::Cube::Intersect().

Ray Basis::TransformToWorld const Ray r  )  const [inline]
 

Ray r is expressed in local space, returned ray is expressed in world space. Direction vector of the returned ray MAY NOT be unit-length.

Definition at line 123 of file basis.h.

sheep::Point3 Basis::TransformToWorld const sheep::Point3 v  )  const [inline]
 

Point p is expressed in local space, returned point is expressed in world space.

Definition at line 104 of file basis.h.

sheep::Vector3 Basis::TransformToWorld const sheep::Vector3 v  )  const [inline]
 

Vector v is expressed in local space, returned vector is expressed in world space.

Definition at line 98 of file basis.h.

Referenced by toxic::Mesh::Finalize(), and toxic::Sphere::Sphere().


Member Data Documentation

sheep::Matrix4 toxic::Basis::m_inv_m [protected]
 

World space to local space vector transformation matrix.

Definition at line 69 of file basis.h.

sheep::Matrix4 toxic::Basis::m_m [protected]
 

Local space to world space vector transformation matrix.

Definition at line 68 of file basis.h.

sheep::Matrix4 toxic::Basis::m_tr_inv_m [protected]
 

Local space to world space normal transformation matrix.

Definition at line 70 of file basis.h.

sheep::Matrix4 toxic::Basis::m_tr_m [protected]
 

World space to local space normal transformation matrix.

Definition at line 71 of file basis.h.


The documentation for this class was generated from the following files:
Generated on Tue May 11 01:31:56 2004 for toxic by doxygen 1.3.6