arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

gutz::Light Class Reference

#include <Light.h>

Inheritance diagram for gutz::Light:

gutz::Camera gutz::BaseManip gutz::Counted List of all members.

Detailed Description

A Light interaction class.

A Light interaction class. Handles basic operations relating to light placement. Be sure to keep the clipping planes and screen size current. This class is a child of Camera, so interaction is identical to the cameras

Definition at line 48 of file Light.h.

Transformations

get the projection transform, PROJECTION<-LOCAL

gutz::mat4f getProjectTransform () const
 get the projection transform, PROJECTION<-LOCAL

gutz::mat4f getInvProjectTransform () const
 get the inverse projection transform, PROJECTION->LOCAL

gutz::mat4f getScreenTransform () const
 get the screen transform, SCREEN<-PROJECT this is wierd because you must apply the Project transform, then divide by w, then apply the screen transform.

gutz::mat4f getInvScreenTransform () const
 get the inverse screen transform, SCREEN->LOCAL

gutz::mat4f getEyeTransform () const
 get the eye transform: EYE<-LOCAL,

gutz::mat4f getWorldTransform () const
 get the world transform: WORLD<-LOCAL (Identity)

gutz::mat4f getLocalTransform () const
 get the transform that this manipulator defines

gutz::mat4f getInvEyeTransform () const
 get the inverse eye transform: EYE->LOCAL

gutz::mat4f getInvWorldTransform () const
 get the inverse world transform: WORLD->LOCAL (Identity)

gutz::mat4f getInvLocalTransform () const
 get the inverse transform that this manipulator defines

gutz::mat4f getProjection () const
 get the projection matrix currently associated with this transform chain

gutz::mat4f getInvProjection () const
 get the inverse projection matrix (inverse of getProjection())

gutz::quatf getEyeQuat () const
 get the quaternion that expresses the total rotation in this chain gutz::quatf getEyeQuat() const { return _camquat; }

gutz::quatf getInvEyeQuat () const
 get the inverse quaternion for rotation from EYE to this space

gutz::quatf getWorldQuat () const
 get the quaternion for rotation: WORLD<-LOCAL (Identity)

gutz::quatf getInvWorldQuat () const
 get the inverse quaternion for rotation: WORLD->LOCAL (Identity)

gutz::quatf getLocalQuat () const
 get the local quaternion for rotation

gutz::quatf getInvLocalQuat () const
 get the inverse local quaterinion for rotation


Get/Set Camera specific Matricies

mat4f getViewportMatrix () const
 transform from PROJECTION space to screen space (from device normalized coords) right now this object does not own the viewport, so..

mat4f getInvViewportMatrix () const
const mat4fgetProjectMatrix () const
const mat4fgetInvProjectMatrix () const
void setProjectMatrix (const mat4f &m)
 external set projection

const mat4fgetViewMatrix () const
const mat4fgetInvViewMatrix () const
void setViewMatrix (const mat4f &m)
 external set view, takes a guess at eye/at/up but probably a bad one

mat4f getInvMatrix () const
quatf getCamQuat () const

Position & orientation

gutz::vec3f getLocalPos () const
void setLocalPos (const vec3f &pos)
gutz::mat3f getLocalOrient () const
void setLocalQuat (const quatf &lq)
 TODO: implement this!!!


Serialization.

virtual bool serialState (std::ostream &os, const std::string indent=std::string(""))
 serialize specific parts state, first all of it, then the specific ones.

virtual bool unserialState (std::istream &is)
virtual bool serialEventMap (std::ostream &os, const std::string indent=std::string(""))
virtual bool serialParamMap (std::ostream &os, const std::string indent=std::string(""))
virtual bool unserialEventMap (std::istream &is)
virtual bool unserialParamMap (std::istream &is)
virtual bool serialData (std::ostream &os, const std::string indent=std::string(""))
 specific parts of this object serialize the data parts of this guy for momentos & transmission

virtual bool unserialData (std::istream &is)

Clipping planes,

virtual void setClips (float nearClip, float farClip)
 Keep this current.

virtual gutz::vec2f getClips () const
virtual float getNearClip () const
virtual float getFarClip () const

LookAt functions

virtual void setEyePos (vec3f eyePos)
virtual void setLookAt (vec3f lookat)
virtual void setUpVec (vec3f upvec)
virtual const vec3fgetEyePos () const
virtual const vec3fgetLookAt () const
virtual const vec3fgetUpVec () const
virtual vec3f getXVec () const
virtual vec3f getViewDir () const
virtual float getFocalLength () const

Screen size functions

Keep this current.

void setScreen (unsigned int x, unsigned int y)
gutz::vec2ui getScreen () const
unsigned int getScreenX () const
unsigned int getScreenY () const

Projection

assumes you have set clips & screen first

virtual void setPerspective (float fov)
 Sets the projection matrix based on a field of view.

virtual void setFrustum (float left, float right, float bottom, float top)
 Sets the frustum explicitly, perspective.

gutz::vec4f getFrustum () const
 Gets the current frustum, valid wether set via Perspective, Frustum, or Ortho.

virtual void setOrtho (float left, float right, float bottom, float top)
 Sets the projection matrix to Orthographic.

bool isOrtho () const
 check if we are orthographic


Project, Unproject, & space conversions

gutz::vec3f getLocalPosWorld (const gutz::vec3f &wpos) const
 You have a point in WORLD space and now you want it in "this" (WORLD) manipulators space.

gutz::vec3f getLocalDirWorld (const gutz::vec3f &wdir) const
 WORLD->LOCAL dir, You have a vector (direction) in WORLD, you want it in LOCAL.

gutz::vec3f getWorldPosLocal (const gutz::vec3f &lpos) const
 You have a LOCAL point and you want it in WORLD space, identity WORLD<-WORLD.

gutz::vec3f getWorldDirLocal (const gutz::vec3f &ldir) const
 WORLD<-LOCAL dir, You have a vector (direction) in WORLD, you want it in LOCAL.

gutz::vec3f getLocalPosEye (const gutz::vec3f &epos) const
 You have an EYE space point and want it in LOCAL space EYE->LOCAL.

gutz::vec3f getEyePosLocal (const gutz::vec3f &lpos) const
 You have a LOCAL space point and want it in EYE space EYE<-LOCAL.

gutz::vec3f getLocalPosScreen (const gutz::vec3f &spos) const
 You have a point in SCREEN space and now you want it in LOCAL/WORLD space SCREEN->WORLD.

gutz::vec3f getScreenPosLocal (const gutz::vec3f &lpos) const
 You have a point in LOCAL space and want it in SCREEN space SCREEN<-LOCAL, you may have to flip the y pos (screenY - pos::y).

gutz::vec3f getEyePosScreen (const gutz::vec3f &scrPos) const
 Get pick pos from SCREEN (x,y,z), return in EYE space z should be in [0,1] range: 0 = nearClip, 1 = farClip
.

gutz::vec3f getPickPos (const gutz::vec3f &scrPos) const
 Get pick pos, takes SCREEN space (x,y,z) and returns the point in WORLD space,.

template<class T> gutz::vec3f getPickPos (const T x, const T y) const
 Get pick pos, takes SCREEN space (x,y) and returns point on near clip in WORLD space,.

template<class T> gutz::vec3f getPickPos (const gutz::vec2< T > &p) const
 Get pick pos, takes SCREEN space (x,y) and returns point on near clip in WORLD space, same as above.

gutz::ray3f getRay (float x, float y) const
 Get the ray from the eye pointing toward a point on the near clip.

gutz::ray3f getRayWorld (gutz::vec3f pos) const
 much like getRay, but for a world space point.


Vectors

Simmilar to Projections, but rather than projecting a point you are projecting/deriving a direction vector.

gutz::vec3f getLocalEyeRayLocal (const gutz::vec3f &lpos) const
 get a LOCAL direction (ray) through a LOCAL point from the eye

gutz::vec3f getLocalEyeRayScreen (const gutz::vec3f &spos) const
 get a LOCAL direction through a SCREEN point from the eye

gutz::vec3f getWorldEyeRayScreen (const gutz::vec3f &spos) const
 get a World direction through a Screen point from the eye

gutz::vec3f getWorldEyeRayWorld (const gutz::vec3f &wpos) const
 get a World direction through a World point from the eye

gutz::vec3f getLocalViewDir () const
 get the View direction in LOCAL space


Handle mouse events

returns false if there are no valid events.

virtual void mapEvent (unsigned int event, unsigned int button, float speed=1.0f)
unsigned int getEvent (const MouseEvent &me) const
float getSpeed (const MouseEvent &me) const
virtual bool mouse (const MouseEvent &me)
 mouse up/down

virtual bool move (const MouseMoveEvent &mme)
 move mouse


Tumble

virtual void tumble (float speed=1)
 Update tumble "speed" steps.


Position & orientation

gutz::vec3f getWorldPos () const
virtual void setWorldPos (const vec3f &wpos)
gutz::mat3f getWorldOrient () const

Tumble.

enable/disable rotations with inertia

void setTumble (bool on)
bool getTumble () const

Behavior implementation

virtual bool handleCamera (const gutz::MouseMoveEvent &mme)
virtual void cameraRot (const gutz::MouseMoveEvent &mme)
virtual void cameraTrans (const gutz::MouseMoveEvent &mme, vec3f dxAxis, vec3f dyAxis)
virtual void cameraRotAxis (const gutz::MouseMoveEvent &mme, vec3f dxAxis, vec3f dyAxis)
virtual void cameraSwivel (const gutz::MouseMoveEvent &mme)
virtual void cameraZoom (const gutz::MouseMoveEvent &mme)

Public Types

typedef gutz::SmartPtr< BaseManipBaseManipSP

Public Member Functions

 Light ()
virtual ~Light ()
virtual bool serialize (std::ostream &os, const std::string indent=std::string(""))
 Serialization.

virtual bool unserialize (std::istream &is)
 read.

bool isCamera () const
bool isManip () const
CameragetCamera () const
 cameras don't have cameras!!!

virtual gutz::SmartPtr< BaseManipgetParent () const
 Tranformation chains (for Manip) interface Manip basically implements a linked list of manipulators that can be strung together.

virtual void setParent (const BaseManipSP parent)
virtual void insertParent (const BaseManipSP parent)

Protected Types

enum  { FRUST_LEFT = 0, FRUST_RIGHT = 1, FRUST_TOP = 2, FRUST_BOTTOM = 3 }
 index names of frustum entries More...


Protected Member Functions

void _setProjectMatrix (const mat4f &m)
 internal set projection

void _setViewMatrix (const mat4f &m)
 internal set view

virtual void _incCount ()
 gutz::Counted interface, increment reference count by one.

virtual void _decCount ()
 gutz::Counted interface, decrement reference count by one.

virtual int _getCount () const
 gutz::Counted interface, get the current reference count.


Protected Attributes

gutz::vec2ui _screen
 screen size

gutz::vec4ui _viewport
 viewport

gutz::vec4f _frustum
 view frustum

gutz::vec2f _clips
 Clipping planes.

mat4f _cm
mat4f _pm
mat4f _cinv
mat4f _pinv
 Camera & projection matrices.

vec3f _eyePos
vec3f _lookat
vec3f _upvec
 Current Lookat parameters.

quatf _camquat
 Quaternions for rotation.

vec3f _lastEyePos
 "temporary" vectors for events

vec3f _lastLookat
 "temporary" vectors for events

quatf _camtrackquat
 "temporary" quaternions for tumbling (track is a bad name joe!!)

quatf _swivtrackquat
 "temporary" quaternions for tumbling (track is a bad name joe!!)

bool _ortho
 are we orthographic or perspective

EventKeyMap _keymap
 maps buttons/keys to events

EventParamMap _speedmap
 speed for some event

bool _tumble
 Tumble on???

unsigned int _currentMode
 Current mode.

float _currentSpeed
 Current speed.

float _lastd
 Last distance traveled.


Friends

class SmartPtr
class SmartPtrRef


Member Typedef Documentation

typedef gutz::SmartPtr<BaseManip> gutz::BaseManip::BaseManipSP [inherited]
 

Definition at line 85 of file baseManip.h.

Referenced by gutz::Manip::setCamera().


Member Enumeration Documentation

anonymous enum [protected, inherited]
 

index names of frustum entries

Enumeration values:
FRUST_LEFT 
FRUST_RIGHT 
FRUST_TOP 
FRUST_BOTTOM 

Definition at line 440 of file Camera.h.


Constructor & Destructor Documentation

Light::Light  ) 
 

Definition at line 22 of file Light.cpp.

Light::~Light  )  [virtual]
 

Definition at line 28 of file Light.cpp.


Member Function Documentation

virtual void gutz::Counted::_decCount  )  [inline, protected, virtual, inherited]
 

gutz::Counted interface, decrement reference count by one.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr

Definition at line 54 of file smartptr.h.

Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax().

virtual int gutz::Counted::_getCount  )  const [inline, protected, virtual, inherited]
 

gutz::Counted interface, get the current reference count.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr.

Definition at line 58 of file smartptr.h.

virtual void gutz::Counted::_incCount  )  [inline, protected, virtual, inherited]
 

gutz::Counted interface, increment reference count by one.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr

Definition at line 48 of file smartptr.h.

Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax().

void Camera::_setProjectMatrix const mat4f m  )  [protected, inherited]
 

internal set projection

Definition at line 153 of file Camera.cpp.

References gutz::Camera::_pinv, and gutz::Camera::_pm.

Referenced by gutz::Camera::setFrustum(), gutz::Camera::setOrtho(), gutz::Camera::setPerspective(), and gutz::Camera::setProjectMatrix().

void Camera::_setViewMatrix const mat4f m  )  [protected, inherited]
 

internal set view

Definition at line 170 of file Camera.cpp.

References gutz::Camera::_cinv, and gutz::Camera::_cm.

Referenced by gutz::Camera::Camera(), gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraTrans(), gutz::Camera::setEyePos(), gutz::Camera::setLookAt(), gutz::Camera::setUpVec(), gutz::Camera::setViewMatrix(), and gutz::Camera::tumble().

void Camera::cameraRot const gutz::MouseMoveEvent mme  )  [protected, virtual, inherited]
 

scale and bias pick points (on screen) to (-1,1) range pt = (2*pt - sz)/sz

Definition at line 723 of file Camera.cpp.

References gutz::Camera::_camquat, gutz::Camera::_camtrackquat, gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_screen, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, gutz::Camera::getFocalLength(), gutz::MouseMoveEvent::getLast(), gutz::MouseEvent::getPos(), gutz::look_at(), gutz::mat3f, gutz::quatf, gutz::trackball(), gutz::vec2f, and gutz::vec3f.

Referenced by gutz::Camera::handleCamera().

void Camera::cameraRotAxis const gutz::MouseMoveEvent mme,
vec3f  dxAxis,
vec3f  dyAxis
[protected, virtual, inherited]
 

Definition at line 767 of file Camera.cpp.

References gutz::Camera::_camquat, gutz::BaseManip::_currentSpeed, gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, gutz::MouseMoveEvent::getDel(), gutz::look_at(), M_PI, gutz::mat3f, gutz::quatf, gutz::vec3f, and gutz::vec3f_zero.

Referenced by gutz::Camera::handleCamera().

void Camera::cameraSwivel const gutz::MouseMoveEvent mme  )  [protected, virtual, inherited]
 

Definition at line 794 of file Camera.cpp.

References gutz::Camera::_camquat, gutz::Camera::_eyePos, gutz::Camera::_lastLookat, gutz::Camera::_lookat, gutz::Camera::_screen, gutz::Camera::_setViewMatrix(), gutz::Camera::_swivtrackquat, gutz::Camera::_upvec, gutz::MouseMoveEvent::getLast(), gutz::MouseEvent::getPos(), gutz::look_at(), gutz::mat3f, gutz::quatf, gutz::trackball(), gutz::vec2f, and gutz::vec3f.

Referenced by gutz::Camera::handleCamera().

void Camera::cameraTrans const gutz::MouseMoveEvent mme,
vec3f  dxAxis,
vec3f  dyAxis
[protected, virtual, inherited]
 

Definition at line 746 of file Camera.cpp.

References gutz::Camera::_cm, gutz::BaseManip::_currentSpeed, gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, gutz::MouseMoveEvent::getDel(), gutz::look_at(), gutz::quatf, gutz::vec3f, and x.

Referenced by gutz::Camera::handleCamera().

void Camera::cameraZoom const gutz::MouseMoveEvent mme  )  [protected, virtual, inherited]
 

scale is equal to the total move (dx + dy)

compute current frustum's width

compute the center of current frustum

compute new width (old width * scale) and divide by two

orthographic projection frustum... or:

perspective frustum

Definition at line 693 of file Camera.cpp.

References gutz::Camera::_frustum, gutz::Camera::_ortho, gutz::Camera::_screen, gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, gutz::MouseMoveEvent::getDel(), scale, gutz::Camera::setFrustum(), gutz::Camera::setOrtho(), and gutz::vec2f.

Referenced by gutz::Camera::handleCamera().

Camera* gutz::Camera::getCamera  )  const [inline, virtual, inherited]
 

cameras don't have cameras!!!

Implements gutz::BaseManip.

Definition at line 78 of file Camera.h.

quatf gutz::Camera::getCamQuat  )  const [inline, inherited]
 

Definition at line 146 of file Camera.h.

References gutz::Camera::_camquat, and gutz::quatf.

virtual gutz::vec2f gutz::Camera::getClips  )  const [inline, virtual, inherited]
 

Definition at line 188 of file Camera.h.

References gutz::Camera::_clips.

unsigned int Camera::getEvent const MouseEvent me  )  const [inherited]
 

Definition at line 108 of file Camera.cpp.

References gutz::Camera::_keymap, gutz::MouseEvent::getButton(), and gutz::MouseEvent::isButtonDown().

Referenced by gutz::Camera::handleCamera(), and gutz::Camera::mouse().

virtual const vec3f& gutz::Camera::getEyePos  )  const [inline, virtual, inherited]
 

Definition at line 201 of file Camera.h.

References gutz::Camera::_eyePos, and gutz::vec3f.

Referenced by gutz::Camera::getFocalLength(), gutz::Camera::getRay(), gutz::Camera::getRayWorld(), and gutz::Camera::getViewDir().

gutz::vec3f gutz::Camera::getEyePosLocal const gutz::vec3f lpos  )  const [inline, virtual, inherited]
 

You have a LOCAL space point and want it in EYE space EYE<-LOCAL.

Implements gutz::BaseManip.

Definition at line 267 of file Camera.h.

References gutz::Camera::_cm.

gutz::vec3f gutz::Camera::getEyePosScreen const gutz::vec3f scrPos  )  const [inline, inherited]
 

Get pick pos from SCREEN (x,y,z), return in EYE space z should be in [0,1] range: 0 = nearClip, 1 = farClip
.

Definition at line 287 of file Camera.h.

References gutz::Camera::_pinv, gutz::Camera::getScreenY(), and gutz::vec4f.

Referenced by gutz::Camera::getLocalPosScreen().

gutz::quatf gutz::Camera::getEyeQuat  )  const [inline, virtual, inherited]
 

get the quaternion that expresses the total rotation in this chain gutz::quatf getEyeQuat() const { return _camquat; }

Implements gutz::BaseManip.

Definition at line 111 of file Camera.h.

References gutz::Camera::_cm, and gutz::quatf.

Referenced by gutz::Camera::getInvEyeQuat().

gutz::mat4f gutz::Camera::getEyeTransform  )  const [inline, virtual, inherited]
 

get the eye transform: EYE<-LOCAL,

Implements gutz::BaseManip.

Definition at line 94 of file Camera.h.

References gutz::Camera::_cm.

float Camera::getFarClip  )  const [virtual, inherited]
 

Definition at line 417 of file Camera.cpp.

References gutz::Camera::_clips.

virtual float gutz::Camera::getFocalLength  )  const [inline, virtual, inherited]
 

Definition at line 208 of file Camera.h.

References gutz::Camera::getEyePos(), and gutz::Camera::getLookAt().

Referenced by gutz::Camera::cameraRot().

gutz::vec4f gutz::Camera::getFrustum  )  const [inline, inherited]
 

Gets the current frustum, valid wether set via Perspective, Frustum, or Ortho.

Definition at line 234 of file Camera.h.

References gutz::Camera::_frustum.

gutz::quatf gutz::Camera::getInvEyeQuat  )  const [inline, virtual, inherited]
 

get the inverse quaternion for rotation from EYE to this space

Implements gutz::BaseManip.

Definition at line 113 of file Camera.h.

References gutz::Camera::getEyeQuat().

gutz::mat4f gutz::Camera::getInvEyeTransform  )  const [inline, virtual, inherited]
 

get the inverse eye transform: EYE->LOCAL

Implements gutz::BaseManip.

Definition at line 100 of file Camera.h.

References gutz::Camera::_cinv.

gutz::quatf gutz::Camera::getInvLocalQuat  )  const [inline, virtual, inherited]
 

get the inverse local quaterinion for rotation

Implements gutz::BaseManip.

Definition at line 121 of file Camera.h.

References gutz::Camera::_camquat.

gutz::mat4f gutz::Camera::getInvLocalTransform  )  const [inline, virtual, inherited]
 

get the inverse transform that this manipulator defines

Implements gutz::BaseManip.

Definition at line 104 of file Camera.h.

References gutz::Camera::_cinv.

mat4f gutz::Camera::getInvMatrix  )  const [inline, inherited]
 

Definition at line 145 of file Camera.h.

References gutz::Camera::_cinv, gutz::Camera::_pinv, and gutz::mat4f.

gutz::mat4f gutz::Camera::getInvProjection  )  const [inline, virtual, inherited]
 

get the inverse projection matrix (inverse of getProjection())

Implements gutz::BaseManip.

Definition at line 108 of file Camera.h.

References gutz::Camera::_pinv.

const mat4f& gutz::Camera::getInvProjectMatrix  )  const [inline, inherited]
 

Definition at line 140 of file Camera.h.

References gutz::Camera::_pinv, and gutz::mat4f.

gutz::mat4f gutz::Camera::getInvProjectTransform  )  const [inline, virtual, inherited]
 

get the inverse projection transform, PROJECTION->LOCAL

Implements gutz::BaseManip.

Definition at line 86 of file Camera.h.

References gutz::Camera::_cinv, and gutz::Camera::_pinv.

gutz::mat4f gutz::Camera::getInvScreenTransform  )  const [inline, virtual, inherited]
 

get the inverse screen transform, SCREEN->LOCAL

Implements gutz::BaseManip.

Definition at line 92 of file Camera.h.

References gutz::Camera::getInvViewportMatrix().

const mat4f& gutz::Camera::getInvViewMatrix  )  const [inline, inherited]
 

Definition at line 143 of file Camera.h.

References gutz::Camera::_cinv, and gutz::mat4f.

mat4f Camera::getInvViewportMatrix  )  const [inherited]
 

Definition at line 138 of file Camera.cpp.

References gutz::Camera::_screen, and gutz::mat4f.

Referenced by gutz::Camera::getInvScreenTransform().

gutz::quatf gutz::Camera::getInvWorldQuat  )  const [inline, virtual, inherited]
 

get the inverse quaternion for rotation: WORLD->LOCAL (Identity)

Implements gutz::BaseManip.

Definition at line 117 of file Camera.h.

References gutz::quatf_id.

gutz::mat4f gutz::Camera::getInvWorldTransform  )  const [inline, virtual, inherited]
 

get the inverse world transform: WORLD->LOCAL (Identity)

Implements gutz::BaseManip.

Definition at line 102 of file Camera.h.

References gutz::mat4f.

gutz::vec3f gutz::Camera::getLocalDirWorld const gutz::vec3f wdir  )  const [inline, virtual, inherited]
 

WORLD->LOCAL dir, You have a vector (direction) in WORLD, you want it in LOCAL.

Implements gutz::BaseManip.

Definition at line 252 of file Camera.h.

gutz::vec3f gutz::Camera::getLocalEyeRayLocal const gutz::vec3f lpos  )  const [inline, virtual, inherited]
 

get a LOCAL direction (ray) through a LOCAL point from the eye

Implements gutz::BaseManip.

Definition at line 359 of file Camera.h.

References gutz::Camera::getViewDir(), gutz::BaseManip::getWorldPos(), and gutz::Camera::isOrtho().

Referenced by gutz::Camera::getWorldEyeRayWorld().

gutz::vec3f gutz::Camera::getLocalEyeRayScreen const gutz::vec3f spos  )  const [inline, virtual, inherited]
 

get a LOCAL direction through a SCREEN point from the eye

Implements gutz::BaseManip.

Definition at line 365 of file Camera.h.

References gutz::Camera::getLocalPosScreen(), gutz::Camera::getViewDir(), gutz::BaseManip::getWorldPos(), and gutz::Camera::isOrtho().

Referenced by gutz::Camera::getWorldEyeRayScreen().

gutz::mat3f gutz::Camera::getLocalOrient  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 155 of file Camera.h.

References gutz::Camera::_cm.

gutz::vec3f gutz::Camera::getLocalPos  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 152 of file Camera.h.

References gutz::Camera::_eyePos.

gutz::vec3f gutz::Camera::getLocalPosEye const gutz::vec3f epos  )  const [inline, virtual, inherited]
 

You have an EYE space point and want it in LOCAL space EYE->LOCAL.

Implements gutz::BaseManip.

Definition at line 263 of file Camera.h.

References gutz::Camera::_cinv.

gutz::vec3f gutz::Camera::getLocalPosScreen const gutz::vec3f spos  )  const [inline, virtual, inherited]
 

You have a point in SCREEN space and now you want it in LOCAL/WORLD space SCREEN->WORLD.

Implements gutz::BaseManip.

Definition at line 271 of file Camera.h.

References gutz::Camera::_cinv, and gutz::Camera::getEyePosScreen().

Referenced by gutz::Camera::getLocalEyeRayScreen(), and gutz::Camera::getPickPos().

gutz::vec3f gutz::Camera::getLocalPosWorld const gutz::vec3f wpos  )  const [inline, virtual, inherited]
 

You have a point in WORLD space and now you want it in "this" (WORLD) manipulators space.

WORLD->WORLD space, identity transform.

Implements gutz::BaseManip.

Definition at line 249 of file Camera.h.

gutz::quatf gutz::Camera::getLocalQuat  )  const [inline, virtual, inherited]
 

get the local quaternion for rotation

Implements gutz::BaseManip.

Definition at line 119 of file Camera.h.

References gutz::Camera::_camquat.

gutz::mat4f gutz::Camera::getLocalTransform  )  const [inline, virtual, inherited]
 

get the transform that this manipulator defines

Implements gutz::BaseManip.

Definition at line 98 of file Camera.h.

References gutz::Camera::_cm.

gutz::vec3f gutz::Camera::getLocalViewDir  )  const [inline, virtual, inherited]
 

get the View direction in LOCAL space

Implements gutz::BaseManip.

Definition at line 377 of file Camera.h.

References gutz::Camera::getViewDir().

virtual const vec3f& gutz::Camera::getLookAt  )  const [inline, virtual, inherited]
 

Definition at line 202 of file Camera.h.

References gutz::Camera::_lookat, and gutz::vec3f.

Referenced by gutz::Camera::getFocalLength(), and gutz::Camera::getViewDir().

float Camera::getNearClip  )  const [virtual, inherited]
 

Definition at line 412 of file Camera.cpp.

References gutz::Camera::_clips.

virtual gutz::SmartPtr<BaseManip> gutz::BaseManip::getParent  )  const [inline, virtual, inherited]
 

Tranformation chains (for Manip) interface Manip basically implements a linked list of manipulators that can be strung together.

If you set your parent to be 0, then you effectively nuke the chain above this manipulator. Cameras are special, there can only be one, and it is always at the very top of the chain (ie has no parent). See gutz::Manip for the rest of this interface

Reimplemented in gutz::Manip.

Definition at line 105 of file baseManip.h.

Referenced by gutz::BaseManip::getWorldPos(), and gutz::BaseManip::setWorldPos().

template<class T>
gutz::vec3f gutz::Camera::getPickPos const gutz::vec2< T > &  p  )  const [inline, inherited]
 

Get pick pos, takes SCREEN space (x,y) and returns point on near clip in WORLD space, same as above.

Definition at line 319 of file Camera.h.

References gutz::Camera::getPickPos(), gutz::vec2< T >::x, and gutz::vec2< T >::y.

template<class T>
gutz::vec3f gutz::Camera::getPickPos const T  x,
const T  y
const [inline, inherited]
 

Get pick pos, takes SCREEN space (x,y) and returns point on near clip in WORLD space,.

Definition at line 310 of file Camera.h.

References gutz::Camera::getPickPos(), x, and y.

gutz::vec3f gutz::Camera::getPickPos const gutz::vec3f scrPos  )  const [inline, inherited]
 

Get pick pos, takes SCREEN space (x,y,z) and returns the point in WORLD space,.

Definition at line 301 of file Camera.h.

References gutz::Camera::getLocalPosScreen().

Referenced by gutz::Camera::getPickPos().

gutz::mat4f gutz::Camera::getProjection  )  const [inline, virtual, inherited]
 

get the projection matrix currently associated with this transform chain

Implements gutz::BaseManip.

Definition at line 106 of file Camera.h.

References gutz::Camera::_pm.

const mat4f& gutz::Camera::getProjectMatrix  )  const [inline, inherited]
 

Definition at line 139 of file Camera.h.

References gutz::Camera::_pm, and gutz::mat4f.

gutz::mat4f gutz::Camera::getProjectTransform  )  const [inline, virtual, inherited]
 

get the projection transform, PROJECTION<-LOCAL

Implements gutz::BaseManip.

Definition at line 84 of file Camera.h.

References gutz::Camera::_cm, and gutz::Camera::_pm.

gutz::ray3f gutz::Camera::getRay float  x,
float  y
const [inline, inherited]
 

Get the ray from the eye pointing toward a point on the near clip.

x,y given in SCREEN Space, returns ray in WORLD space. Needed since there is an algorithmic difference between ray computation with perspective and ortho projections, and we could like to have algorithms that don't care what "kind" of camera it is.

Definition at line 332 of file Camera.h.

References gutz::Camera::getEyePos(), gutz::Camera::getViewDir(), gutz::Camera::isOrtho(), gutz::ray3f, x, and y.

gutz::ray3f gutz::Camera::getRayWorld gutz::vec3f  pos  )  const [inline, inherited]
 

much like getRay, but for a world space point.

returns the ray from the eye through the given point

Definition at line 343 of file Camera.h.

References gutz::Camera::getEyePos(), gutz::Camera::getViewDir(), gutz::Camera::isOrtho(), and gutz::ray3f.

gutz::vec2ui gutz::Camera::getScreen  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 218 of file Camera.h.

References gutz::Camera::_screen.

gutz::vec3f gutz::Camera::getScreenPosLocal const gutz::vec3f lpos  )  const [inline, virtual, inherited]
 

You have a point in LOCAL space and want it in SCREEN space SCREEN<-LOCAL, you may have to flip the y pos (screenY - pos::y).

Implements gutz::BaseManip.

Definition at line 275 of file Camera.h.

References gutz::Camera::_cm, gutz::Camera::_pm, gutz::Camera::_screen, and gutz::vec4f.

gutz::mat4f gutz::Camera::getScreenTransform  )  const [inline, virtual, inherited]
 

get the screen transform, SCREEN<-PROJECT this is wierd because you must apply the Project transform, then divide by w, then apply the screen transform.

Implements gutz::BaseManip.

Definition at line 90 of file Camera.h.

References gutz::Camera::getViewportMatrix().

unsigned int gutz::Camera::getScreenX  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 219 of file Camera.h.

References gutz::Camera::_screen.

unsigned int gutz::Camera::getScreenY  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 220 of file Camera.h.

References gutz::Camera::_screen.

Referenced by gutz::Camera::getEyePosScreen().

float Camera::getSpeed const MouseEvent me  )  const [inherited]
 

Definition at line 117 of file Camera.cpp.

References gutz::Camera::_speedmap, and gutz::MouseEvent::getButton().

Referenced by gutz::Camera::mouse().

bool gutz::BaseManip::getTumble  )  const [inline, inherited]
 

Definition at line 209 of file baseManip.h.

References gutz::BaseManip::_tumble.

virtual const vec3f& gutz::Camera::getUpVec  )  const [inline, virtual, inherited]
 

Definition at line 203 of file Camera.h.

References gutz::Camera::_upvec, and gutz::vec3f.

virtual vec3f gutz::Camera::getViewDir  )  const [inline, virtual, inherited]
 

Definition at line 206 of file Camera.h.

References gutz::Camera::getEyePos(), gutz::Camera::getLookAt(), and gutz::vec3f.

Referenced by gutz::Camera::getLocalEyeRayLocal(), gutz::Camera::getLocalEyeRayScreen(), gutz::Camera::getLocalViewDir(), gutz::Camera::getRay(), and gutz::Camera::getRayWorld().

const mat4f& gutz::Camera::getViewMatrix  )  const [inline, inherited]
 

Definition at line 142 of file Camera.h.

References gutz::Camera::_cm, and gutz::mat4f.

mat4f Camera::getViewportMatrix  )  const [inherited]
 

transform from PROJECTION space to screen space (from device normalized coords) right now this object does not own the viewport, so..

we are just using the viewport (0,0,w,h), need to fix that!!!

Definition at line 128 of file Camera.cpp.

References gutz::Camera::_screen, and gutz::mat4f.

Referenced by gutz::Camera::getScreenTransform().

gutz::vec3f gutz::Camera::getWorldDirLocal const gutz::vec3f ldir  )  const [inline, virtual, inherited]
 

WORLD<-LOCAL dir, You have a vector (direction) in WORLD, you want it in LOCAL.

Implements gutz::BaseManip.

Definition at line 259 of file Camera.h.

gutz::vec3f gutz::Camera::getWorldEyeRayScreen const gutz::vec3f spos  )  const [inline, virtual, inherited]
 

get a World direction through a Screen point from the eye

Implements gutz::BaseManip.

Definition at line 371 of file Camera.h.

References gutz::Camera::getLocalEyeRayScreen().

gutz::vec3f gutz::Camera::getWorldEyeRayWorld const gutz::vec3f wpos  )  const [inline, virtual, inherited]
 

get a World direction through a World point from the eye

Implements gutz::BaseManip.

Definition at line 374 of file Camera.h.

References gutz::Camera::getLocalEyeRayLocal().

gutz::mat3f gutz::BaseManip::getWorldOrient  )  const [inline, inherited]
 

Definition at line 187 of file baseManip.h.

References gutz::BaseManip::getLocalOrient(), gutz::BaseManip::getWorldQuat(), and gutz::mat3f.

gutz::vec3f gutz::BaseManip::getWorldPos  )  const [inline, inherited]
 

Definition at line 177 of file baseManip.h.

References gutz::BaseManip::getLocalPos(), and gutz::BaseManip::getParent().

Referenced by gutz::Camera::getLocalEyeRayLocal(), and gutz::Camera::getLocalEyeRayScreen().

gutz::vec3f gutz::Camera::getWorldPosLocal const gutz::vec3f lpos  )  const [inline, virtual, inherited]
 

You have a LOCAL point and you want it in WORLD space, identity WORLD<-WORLD.

Implements gutz::BaseManip.

Definition at line 256 of file Camera.h.

gutz::quatf gutz::Camera::getWorldQuat  )  const [inline, virtual, inherited]
 

get the quaternion for rotation: WORLD<-LOCAL (Identity)

Implements gutz::BaseManip.

Definition at line 115 of file Camera.h.

References gutz::quatf_id.

gutz::mat4f gutz::Camera::getWorldTransform  )  const [inline, virtual, inherited]
 

get the world transform: WORLD<-LOCAL (Identity)

Implements gutz::BaseManip.

Definition at line 96 of file Camera.h.

References gutz::mat4f.

virtual vec3f gutz::Camera::getXVec  )  const [inline, virtual, inherited]
 

Definition at line 204 of file Camera.h.

References gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_upvec, gutz::vec3f, and z.

bool Camera::handleCamera const gutz::MouseMoveEvent mme  )  [protected, virtual, inherited]
 

last delta, for deciding if we should tumble

Definition at line 625 of file Camera.cpp.

References gutz::BaseManip::_lastd, gutz::CAM_DOLLY, gutz::CAM_MODE_NONE, gutz::CAM_PITCH, gutz::CAM_ROLL, gutz::CAM_ROT, gutz::CAM_SWIVEL, gutz::CAM_TRANS_XY, gutz::CAM_TRANS_XZ, gutz::CAM_TRANS_ZY, gutz::CAM_YAW, gutz::CAM_ZOOM, gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraTrans(), gutz::Camera::cameraZoom(), gutz::g_abs(), gutz::g_max(), gutz::MouseMoveEvent::getDel(), gutz::Camera::getEvent(), gutz::vec3f_neg_y, gutz::vec3f_x, gutz::vec3f_y, gutz::vec3f_z, and gutz::vec3f_zero.

Referenced by gutz::Camera::mouse(), and gutz::Camera::move().

virtual void gutz::BaseManip::insertParent const BaseManipSP  parent  )  [inline, virtual, inherited]
 

Reimplemented in gutz::Manip.

Definition at line 108 of file baseManip.h.

bool gutz::Camera::isCamera  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 75 of file Camera.h.

bool gutz::Camera::isManip  )  const [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 76 of file Camera.h.

bool gutz::Camera::isOrtho  )  const [inline, inherited]
 

check if we are orthographic

Definition at line 238 of file Camera.h.

References gutz::Camera::_ortho.

Referenced by gutz::Camera::getLocalEyeRayLocal(), gutz::Camera::getLocalEyeRayScreen(), gutz::Camera::getRay(), and gutz::Camera::getRayWorld().

virtual void gutz::Camera::mapEvent unsigned int  event,
unsigned int  button,
float  speed = 1.0f
[inline, virtual, inherited]
 

Definition at line 385 of file Camera.h.

References gutz::Camera::_keymap, and gutz::Camera::_speedmap.

bool Camera::mouse const MouseEvent me  )  [virtual, inherited]
 

mouse up/down

Implements gutz::BaseManip.

Definition at line 460 of file Camera.cpp.

References gutz::Camera::_camtrackquat, gutz::Camera::_cinv, gutz::Camera::_cm, gutz::BaseManip::_currentMode, gutz::BaseManip::_currentSpeed, gutz::Camera::_eyePos, gutz::Camera::_lastEyePos, gutz::Camera::_lastLookat, gutz::Camera::_lookat, gutz::Camera::_pinv, gutz::Camera::_pm, gutz::Camera::_screen, gutz::Camera::_swivtrackquat, gutz::MouseEvent::getButton(), gutz::Camera::getEvent(), gutz::MouseEvent::getPos(), gutz::Camera::getSpeed(), gutz::GUTZ_DOWN_ARROW, gutz::GUTZ_LEFT_ARROW, gutz::GUTZ_RIGHT_ARROW, gutz::GUTZ_UP_ARROW, gutz::Camera::handleCamera(), gutz::isArrow(), gutz::MouseEvent::isButtonDown(), gutz::isMouse(), gutz::quatf_id, gutz::MouseMoveEvent::setPos(), gutz::vec3f, gutz::vec3f_x, and gutz::vec3f_y.

bool Camera::move const MouseMoveEvent mme  )  [virtual, inherited]
 

move mouse

Implements gutz::BaseManip.

Definition at line 514 of file Camera.cpp.

References gutz::Camera::_cinv, gutz::Camera::_cm, gutz::Camera::_pinv, gutz::Camera::_pm, and gutz::Camera::handleCamera().

bool Camera::serialData std::ostream &  os,
const std::string  indent = std::string("")
[virtual, inherited]
 

specific parts of this object serialize the data parts of this guy for momentos & transmission

frustum

clips

Reimplemented from gutz::BaseManip.

Definition at line 355 of file Camera.cpp.

References gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_upvec, EYE_POS_STR(), LOOK_AT_STR(), and UP_VEC_STR().

Referenced by gutz::Camera::serialize().

bool Camera::serialEventMap std::ostream &  os,
const std::string  indent = std::string("")
[virtual, inherited]
 

Definition at line 278 of file Camera.cpp.

References gutz::Camera::_keymap.

Referenced by gutz::Camera::serialState().

virtual bool gutz::Light::serialize std::ostream &  os,
const std::string  indent = std::string("")
[inline, virtual]
 

Serialization.

write.

Reimplemented from gutz::Camera.

Definition at line 57 of file Light.h.

bool Camera::serialParamMap std::ostream &  os,
const std::string  indent = std::string("")
[virtual, inherited]
 

Definition at line 293 of file Camera.cpp.

References gutz::Camera::_keymap, and gutz::Camera::_speedmap.

Referenced by gutz::Camera::serialState().

bool Camera::serialState std::ostream &  os,
const std::string  indent = std::string("")
[virtual, inherited]
 

serialize specific parts state, first all of it, then the specific ones.

serialState calls SerialEventMap & SerialParamMap & sets up tags

Definition at line 233 of file Camera.cpp.

References END_SECTION_STR(), EVENT_MAP_STR(), PARAM_MAP_STR(), gutz::Camera::serialEventMap(), gutz::Camera::serialParamMap(), and string.

Referenced by gutz::Camera::serialize().

void Camera::setClips float  nearClip,
float  farClip
[virtual, inherited]
 

Keep this current.

Definition at line 405 of file Camera.cpp.

References gutz::Camera::_clips, gutz::Camera::_frustum, gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, gutz::Camera::setFrustum(), and gutz::vec2f.

void Camera::setEyePos vec3f  eyePos  )  [virtual, inherited]
 

Definition at line 433 of file Camera.cpp.

References gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, and gutz::look_at().

Referenced by gutz::Camera::unserialData().

void Camera::setFrustum float  left,
float  right,
float  bottom,
float  top
[virtual, inherited]
 

Sets the frustum explicitly, perspective.

Definition at line 544 of file Camera.cpp.

References gutz::Camera::_clips, gutz::Camera::_frustum, gutz::Camera::_ortho, gutz::Camera::_setProjectMatrix(), gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, and gutz::frustum().

Referenced by gutz::Camera::Camera(), gutz::Camera::cameraZoom(), gutz::Camera::setClips(), and gutz::Camera::unserialData().

void gutz::Camera::setLocalPos const vec3f pos  )  [inline, virtual, inherited]
 

Implements gutz::BaseManip.

Definition at line 153 of file Camera.h.

References gutz::Camera::_cm.

void gutz::Camera::setLocalQuat const quatf lq  )  [inline, virtual, inherited]
 

TODO: implement this!!!

Implements gutz::BaseManip.

Definition at line 157 of file Camera.h.

void Camera::setLookAt vec3f  lookat  )  [virtual, inherited]
 

Definition at line 439 of file Camera.cpp.

References gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, and gutz::look_at().

Referenced by gutz::Camera::unserialData().

void Camera::setOrtho float  left,
float  right,
float  bottom,
float  top
[virtual, inherited]
 

Sets the projection matrix to Orthographic.

Definition at line 556 of file Camera.cpp.

References gutz::Camera::_clips, gutz::Camera::_frustum, gutz::Camera::_ortho, gutz::Camera::_setProjectMatrix(), gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, and gutz::ortho().

Referenced by gutz::Camera::cameraZoom().

virtual void gutz::BaseManip::setParent const BaseManipSP  parent  )  [inline, virtual, inherited]
 

Reimplemented in gutz::Manip.

Definition at line 107 of file baseManip.h.

void Camera::setPerspective float  fov  )  [virtual, inherited]
 

Sets the projection matrix based on a field of view.

Definition at line 528 of file Camera.cpp.

References gutz::Camera::_clips, gutz::Camera::_frustum, gutz::Camera::_ortho, gutz::Camera::_screen, gutz::Camera::_setProjectMatrix(), gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, gutz::frustum(), and m_PI.

void Camera::setProjectMatrix const mat4f m  )  [inherited]
 

external set projection

Definition at line 147 of file Camera.cpp.

References gutz::Camera::_setProjectMatrix().

void Camera::setScreen unsigned int  x,
unsigned int  y
[inherited]
 

Definition at line 425 of file Camera.cpp.

References gutz::Camera::_screen, gutz::vec2ui, x, and y.

void gutz::BaseManip::setTumble bool  on  )  [inline, inherited]
 

Definition at line 208 of file baseManip.h.

References gutz::BaseManip::_tumble.

void Camera::setUpVec vec3f  upvec  )  [virtual, inherited]
 

Definition at line 445 of file Camera.cpp.

References gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, and gutz::look_at().

Referenced by gutz::Camera::unserialData().

void Camera::setViewMatrix const mat4f m  )  [inherited]
 

external set view, takes a guess at eye/at/up but probably a bad one

Definition at line 160 of file Camera.cpp.

References gutz::Camera::_camquat, gutz::Camera::_cm, gutz::Camera::_eyePos, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_upvec, and gutz::vec3f.

virtual void gutz::BaseManip::setWorldPos const vec3f wpos  )  [inline, virtual, inherited]
 

Definition at line 181 of file baseManip.h.

References gutz::BaseManip::getLocalPosWorld(), gutz::BaseManip::getParent(), and gutz::BaseManip::setLocalPos().

void Camera::tumble float  speed = 1  )  [virtual, inherited]
 

Update tumble "speed" steps.

Reimplemented from gutz::BaseManip.

Definition at line 571 of file Camera.cpp.

References gutz::Camera::_camquat, gutz::Camera::_camtrackquat, gutz::BaseManip::_currentMode, gutz::Camera::_eyePos, gutz::BaseManip::_lastd, gutz::Camera::_lastEyePos, gutz::Camera::_lastLookat, gutz::Camera::_lookat, gutz::Camera::_setViewMatrix(), gutz::Camera::_swivtrackquat, gutz::BaseManip::_tumble, gutz::Camera::_upvec, gutz::CAM_ROT, gutz::CAM_SWIVEL, gutz::look_at(), gutz::mat3f, gutz::quatf, gutz::quatf_id, and gutz::vec3f.

bool Camera::unserialData std::istream &  is  )  [virtual, inherited]
 

Eye

AT

Up

Reimplemented from gutz::BaseManip.

Definition at line 369 of file Camera.cpp.

References gutz::Camera::_eyePos, gutz::Camera::_frustum, gutz::Camera::_lookat, gutz::Camera::_upvec, EYE_POS_STR(), gutz::Camera::FRUST_BOTTOM, gutz::Camera::FRUST_LEFT, gutz::Camera::FRUST_RIGHT, gutz::Camera::FRUST_TOP, LOOK_AT_STR(), gutz::Camera::setEyePos(), gutz::Camera::setFrustum(), gutz::Camera::setLookAt(), gutz::Camera::setUpVec(), string, unserialKeyCheck(), and UP_VEC_STR().

Referenced by gutz::Camera::unserialize().

bool Camera::unserialEventMap std::istream &  is  )  [virtual, inherited]
 

Definition at line 308 of file Camera.cpp.

References gutz::Camera::_keymap, and value.

Referenced by gutz::Camera::unserialState().

virtual bool gutz::Light::unserialize std::istream &  is  )  [inline, virtual]
 

read.

Reimplemented from gutz::Camera.

Definition at line 59 of file Light.h.

bool Camera::unserialParamMap std::istream &  is  )  [virtual, inherited]
 

Definition at line 328 of file Camera.cpp.

References gutz::Camera::_speedmap, and value.

Referenced by gutz::Camera::unserialState().

bool Camera::unserialState std::istream &  is  )  [virtual, inherited]
 

unserial event map

unserial param map

Definition at line 254 of file Camera.cpp.

References END_SECTION_STR(), EVENT_MAP_STR(), PARAM_MAP_STR(), string, gutz::Camera::unserialEventMap(), unserialKeyCheck(), and gutz::Camera::unserialParamMap().

Referenced by gutz::Camera::unserialize().


Friends And Related Function Documentation

friend class SmartPtr [friend, inherited]
 

Definition at line 40 of file smartptr.h.

Referenced by Nrro::NrroIter< T >::NrroIter().

friend class SmartPtrRef [friend, inherited]
 

Definition at line 41 of file smartptr.h.


Member Data Documentation

quatf gutz::Camera::_camquat [protected, inherited]
 

Quaternions for rotation.

Definition at line 449 of file Camera.h.

Referenced by gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::getCamQuat(), gutz::Camera::getInvLocalQuat(), gutz::Camera::getLocalQuat(), gutz::Camera::setViewMatrix(), and gutz::Camera::tumble().

quatf gutz::Camera::_camtrackquat [protected, inherited]
 

"temporary" quaternions for tumbling (track is a bad name joe!!)

Definition at line 454 of file Camera.h.

Referenced by gutz::Camera::cameraRot(), gutz::Camera::mouse(), and gutz::Camera::tumble().

mat4f gutz::Camera::_cinv [protected, inherited]
 

Definition at line 445 of file Camera.h.

Referenced by gutz::Camera::_setViewMatrix(), gutz::Camera::getInvEyeTransform(), gutz::Camera::getInvLocalTransform(), gutz::Camera::getInvMatrix(), gutz::Camera::getInvProjectTransform(), gutz::Camera::getInvViewMatrix(), gutz::Camera::getLocalPosEye(), gutz::Camera::getLocalPosScreen(), gutz::Camera::mouse(), and gutz::Camera::move().

gutz::vec2f gutz::Camera::_clips [protected, inherited]
 

Clipping planes.

Definition at line 443 of file Camera.h.

Referenced by gutz::Camera::getClips(), gutz::Camera::getFarClip(), gutz::Camera::getNearClip(), gutz::Camera::setClips(), gutz::Camera::setFrustum(), gutz::Camera::setOrtho(), and gutz::Camera::setPerspective().

mat4f gutz::Camera::_cm [protected, inherited]
 

Definition at line 445 of file Camera.h.

Referenced by gutz::Camera::_setViewMatrix(), gutz::Camera::cameraTrans(), gutz::Camera::getEyePosLocal(), gutz::Camera::getEyeQuat(), gutz::Camera::getEyeTransform(), gutz::Camera::getLocalOrient(), gutz::Camera::getLocalTransform(), gutz::Camera::getProjectTransform(), gutz::Camera::getScreenPosLocal(), gutz::Camera::getViewMatrix(), gutz::Camera::mouse(), gutz::Camera::move(), gutz::Camera::setLocalPos(), and gutz::Camera::setViewMatrix().

unsigned int gutz::BaseManip::_currentMode [protected, inherited]
 

Current mode.

Definition at line 303 of file baseManip.h.

Referenced by gutz::Camera::mouse(), and gutz::Camera::tumble().

float gutz::BaseManip::_currentSpeed [protected, inherited]
 

Current speed.

Definition at line 304 of file baseManip.h.

Referenced by gutz::Camera::cameraRotAxis(), gutz::Camera::cameraTrans(), and gutz::Camera::mouse().

vec3f gutz::Camera::_eyePos [protected, inherited]
 

Definition at line 447 of file Camera.h.

Referenced by gutz::Camera::Camera(), gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraTrans(), gutz::Camera::getEyePos(), gutz::Camera::getLocalPos(), gutz::Camera::getXVec(), gutz::Camera::mouse(), gutz::Camera::serialData(), gutz::Camera::setEyePos(), gutz::Camera::setLookAt(), gutz::Camera::setUpVec(), gutz::Camera::setViewMatrix(), gutz::Camera::tumble(), and gutz::Camera::unserialData().

gutz::vec4f gutz::Camera::_frustum [protected, inherited]
 

view frustum

Definition at line 441 of file Camera.h.

Referenced by gutz::Camera::cameraZoom(), gutz::Camera::getFrustum(), gutz::Camera::setClips(), gutz::Camera::setFrustum(), gutz::Camera::setOrtho(), gutz::Camera::setPerspective(), and gutz::Camera::unserialData().

EventKeyMap gutz::Camera::_keymap [protected, inherited]
 

maps buttons/keys to events

Definition at line 460 of file Camera.h.

Referenced by gutz::Camera::getEvent(), gutz::Camera::mapEvent(), gutz::Camera::serialEventMap(), gutz::Camera::serialParamMap(), and gutz::Camera::unserialEventMap().

float gutz::BaseManip::_lastd [protected, inherited]
 

Last distance traveled.

Definition at line 307 of file baseManip.h.

Referenced by gutz::Camera::handleCamera(), and gutz::Camera::tumble().

vec3f gutz::Camera::_lastEyePos [protected, inherited]
 

"temporary" vectors for events

Definition at line 452 of file Camera.h.

Referenced by gutz::Camera::mouse(), and gutz::Camera::tumble().

vec3f gutz::Camera::_lastLookat [protected, inherited]
 

"temporary" vectors for events

Definition at line 452 of file Camera.h.

Referenced by gutz::Camera::cameraSwivel(), gutz::Camera::mouse(), and gutz::Camera::tumble().

vec3f gutz::Camera::_lookat [protected, inherited]
 

Definition at line 447 of file Camera.h.

Referenced by gutz::Camera::Camera(), gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraTrans(), gutz::Camera::getLookAt(), gutz::Camera::getXVec(), gutz::Camera::mouse(), gutz::Camera::serialData(), gutz::Camera::setEyePos(), gutz::Camera::setLookAt(), gutz::Camera::setUpVec(), gutz::Camera::setViewMatrix(), gutz::Camera::tumble(), and gutz::Camera::unserialData().

bool gutz::Camera::_ortho [protected, inherited]
 

are we orthographic or perspective

Definition at line 456 of file Camera.h.

Referenced by gutz::Camera::cameraZoom(), gutz::Camera::isOrtho(), gutz::Camera::setFrustum(), gutz::Camera::setOrtho(), and gutz::Camera::setPerspective().

mat4f gutz::Camera::_pinv [protected, inherited]
 

Camera & projection matrices.

Definition at line 445 of file Camera.h.

Referenced by gutz::Camera::_setProjectMatrix(), gutz::Camera::getEyePosScreen(), gutz::Camera::getInvMatrix(), gutz::Camera::getInvProjection(), gutz::Camera::getInvProjectMatrix(), gutz::Camera::getInvProjectTransform(), gutz::Camera::mouse(), and gutz::Camera::move().

mat4f gutz::Camera::_pm [protected, inherited]
 

Definition at line 445 of file Camera.h.

Referenced by gutz::Camera::_setProjectMatrix(), gutz::Camera::getProjection(), gutz::Camera::getProjectMatrix(), gutz::Camera::getProjectTransform(), gutz::Camera::getScreenPosLocal(), gutz::Camera::mouse(), and gutz::Camera::move().

gutz::vec2ui gutz::Camera::_screen [protected, inherited]
 

screen size

Definition at line 433 of file Camera.h.

Referenced by gutz::Camera::cameraRot(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraZoom(), gutz::Camera::getInvViewportMatrix(), gutz::Camera::getScreen(), gutz::Camera::getScreenPosLocal(), gutz::Camera::getScreenX(), gutz::Camera::getScreenY(), gutz::Camera::getViewportMatrix(), gutz::Camera::mouse(), gutz::Camera::setPerspective(), and gutz::Camera::setScreen().

EventParamMap gutz::Camera::_speedmap [protected, inherited]
 

speed for some event

Definition at line 461 of file Camera.h.

Referenced by gutz::Camera::getSpeed(), gutz::Camera::mapEvent(), gutz::Camera::serialParamMap(), and gutz::Camera::unserialParamMap().

quatf gutz::Camera::_swivtrackquat [protected, inherited]
 

"temporary" quaternions for tumbling (track is a bad name joe!!)

Definition at line 454 of file Camera.h.

Referenced by gutz::Camera::cameraSwivel(), gutz::Camera::mouse(), and gutz::Camera::tumble().

bool gutz::BaseManip::_tumble [protected, inherited]
 

Tumble on???

Definition at line 299 of file baseManip.h.

Referenced by gutz::BaseManip::BaseManip(), gutz::BaseManip::getTumble(), gutz::BaseManip::setTumble(), and gutz::Camera::tumble().

vec3f gutz::Camera::_upvec [protected, inherited]
 

Current Lookat parameters.

Definition at line 447 of file Camera.h.

Referenced by gutz::Camera::Camera(), gutz::Camera::cameraRot(), gutz::Camera::cameraRotAxis(), gutz::Camera::cameraSwivel(), gutz::Camera::cameraTrans(), gutz::Camera::getUpVec(), gutz::Camera::getXVec(), gutz::Camera::serialData(), gutz::Camera::setEyePos(), gutz::Camera::setLookAt(), gutz::Camera::setUpVec(), gutz::Camera::setViewMatrix(), gutz::Camera::tumble(), and gutz::Camera::unserialData().

gutz::vec4ui gutz::Camera::_viewport [protected, inherited]
 

viewport

we are just using the viewport (0,0,w,h), need to fix that!!!, should keep all info relative to the screen in this variable not _screen!!!!!!!!!!!!

Definition at line 437 of file Camera.h.


The documentation for this class was generated from the following files:
Send questions, comments, and bug reports to:
jmk