gramods
Classes | Public Member Functions | Static Public Attributes | List of all members
gramods::gmGraphics::VelocityViewpoint Class Reference

The VelocityViewpoint animates the viewpoint position and orientation based on specified linear and angular velocities, respectively. More...

#include <VelocityViewpoint.hh>

Inheritance diagram for gramods::gmGraphics::VelocityViewpoint:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmGraphics::VelocityViewpoint:
Collaboration graph
[legend]

Classes

struct  Impl
 

Public Member Functions

void setVelocity (Eigen::Vector3f vel)
 Sets the linear (position) velocity of the viewpoint, in meters per second. More...
 
void setRotation (Eigen::Quaternionf q)
 Sets the rotational velocity of the viewpoint, in rotation per second. More...
 
void update (clock::time_point time, size_t frame) override
 Updates the animation. More...
 
- Public Member Functions inherited from gramods::gmGraphics::Viewpoint
virtual Eigen::Vector3f getPosition (Eye eye=Eye::MONO)
 Returns the position of the viewpoint. More...
 
virtual Eigen::Quaternionf getOrientation (Eye eye=Eye::MONO)
 Returns the orientation of the viewpoint. More...
 
virtual void setPosition (Eigen::Vector3f p)
 Explicitly sets the position of the Viewpoint. More...
 
void setEyeSeparation (float e)
 Sets the distance between the eyes for stereoscopic (or multiscopic) rendering, in internal units, typically meters. More...
 
virtual void setOrientation (Eigen::Quaternionf q)
 Explicitly sets the orientation of the Viewpoint. More...
 
virtual void setUpDirection (Eigen::Vector3f up)
 Set the up direction to be used in a later call to setLookAt. More...
 
virtual void setLookAt (Eigen::Vector3f p)
 Sets a point that the viewpoint should be rotated towards. More...
 
virtual void unsetLookAt ()
 Unsets the look-at point so that the viewpoint orientation is no longer automatically rotated. More...
 
virtual std::string getDefaultKey () override
 Returns the default key, in Configuration, for the Object. More...
 
- Public Member Functions inherited from gramods::gmCore::Object
 Object ()
 Initializes internal data. More...
 
virtual ~Object ()
 Cleaning up internal data. More...
 
virtual void initialize ()
 Called to initialize the Object. More...
 
virtual void accept (Visitor *visitor)
 Calls the visitors apply method with this as argument. More...
 
virtual void traverse (Visitor *visitor)
 Calls the child Object's accept method, if such exist. More...
 
bool isInitialized ()
 Returns true if the Object is initialized. More...
 
- Public Member Functions inherited from gramods::gmCore::Updateable
 Updateable (int priority=0)
 Configures the Updateable properties to the specified priority. More...
 

Static Public Attributes

static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 
- Static Public Attributes inherited from gramods::gmGraphics::Viewpoint
static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 

Additional Inherited Members

- Public Types inherited from gramods::gmCore::Updateable
typedef std::chrono::steady_clock clock
 
- Static Public Member Functions inherited from gramods::gmCore::Updateable
static void updateAll (clock::time_point t=clock::now(), std::optional< size_t > frame=std::nullopt)
 Updates all currently instanciated updateable objects. More...
 
- Protected Attributes inherited from gramods::gmGraphics::Viewpoint
Eigen::Vector3f position = Eigen::Vector3f::Zero()
 
Eigen::Quaternionf orientation = Eigen::Quaternionf::Identity()
 
Eigen::Vector3f up_direction = Eigen::Vector3f(0, 1, 0)
 
std::optional< Eigen::Vector3f > look_at
 
float eye_separation = 0.06f
 

Detailed Description

The VelocityViewpoint animates the viewpoint position and orientation based on specified linear and angular velocities, respectively.

Member Function Documentation

◆ setRotation()

void gramods::gmGraphics::VelocityViewpoint::setRotation ( Eigen::Quaternionf  q)

Sets the rotational velocity of the viewpoint, in rotation per second.

XML-attribute: rotation

See also
gramods::operator>>(std::istream &, Eigen::Quaternionf &)

◆ setVelocity()

void gramods::gmGraphics::VelocityViewpoint::setVelocity ( Eigen::Vector3f  vel)

Sets the linear (position) velocity of the viewpoint, in meters per second.

XML-attribute: velocity

See also
gramods::operator>>(std::istream &, Eigen::Vector3f &)

◆ update()

void gramods::gmGraphics::VelocityViewpoint::update ( clock::time_point  time,
size_t  frame 
)
overridevirtual

Updates the animation.

Implements gramods::gmCore::Updateable.


The documentation for this class was generated from the following files: