Jimcpp 2.1.0
Jimcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
jpp::scene::ISceneNodeAnimatorCameraFPS Class Referenceabstract

Special scene node animator for FPS cameras. More...

#include <jimcpp/core/engine/ISceneNodeAnimatorCameraFPS.hpp>

Inheritance diagram for jpp::scene::ISceneNodeAnimatorCameraFPS:
Inheritance graph
Collaboration diagram for jpp::scene::ISceneNodeAnimatorCameraFPS:
Collaboration graph

Public Member Functions

virtual f32 getMoveSpeed () const =0
 Returns the speed of movement in units per millisecond.
 
virtual void setMoveSpeed (f32 moveSpeed)=0
 Sets the speed of movement in units per millisecond.
 
virtual f32 getRotateSpeedKeyboard () const =0
 Returns the rotation speed when using keyboard.
 
virtual void setRotateSpeedKeyboard (f32 rotateSpeed)=0
 Set the rotation speed when using keyboard.
 
virtual f32 getRotateSpeed () const =0
 Returns the rotation speed in degrees when using mouse.
 
virtual void setRotateSpeed (f32 rotateSpeed)=0
 Set the rotation speed in degrees when using mouse.
 
virtual void setKeyMap (SKeyMap *map, u32 count)=0
 Sets the keyboard mapping for this animator (old style)
 
virtual void setKeyMap (const core::array< SKeyMap > &keymap)=0
 
virtual const core::array< SKeyMap > & getKeyMap () const =0
 Gets the keyboard mapping for this animator.
 
virtual void setVerticalMovement (bool allow)=0
 Sets whether vertical movement should be allowed.
 
virtual void setInvertMouse (bool invert)=0
 Sets whether the Y axis of the mouse should be inverted.
 
- Public Member Functions inherited from jpp::scene::ISceneNodeAnimator
virtual void animateNode (ISceneNode *node, u32 timeMs)=0
 Animates a scene node.
 
virtual ISceneNodeAnimatorcreateClone (ISceneNode *node, ISceneManager *newManager=0)=0
 Creates a clone of this animator.
 
virtual bool isEventReceiverEnabled () const
 Returns true if this animator receives events.
 
virtual bool OnEvent (const SEvent &event) override
 Event receiver, override this function for camera controlling animators.
 
virtual ESCENE_NODE_ANIMATOR_TYPE getType () const
 Returns type of the scene node animator.
 
virtual bool hasFinished (void) const
 Returns if the animator has finished.
 
virtual void setStartTime (u32 time, bool resetPauseTime=true)
 Reset a time-based movement by changing the starttime.
 
virtual jpp::u32 getStartTime () const
 Get the starttime.
 
virtual void setEnabled (bool enabled, u32 timeNow=0)
 Sets the enabled state of this element.
 
virtual bool isEnabled () const
 
virtual void serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const override
 Writes attributes of the scene node animator.
 
virtual void deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0) override
 Reads attributes of the scene node animator.
 
- Public Member Functions inherited from jpp::IReferenceCounted
 IReferenceCounted ()
 Constructor.
 
virtual ~IReferenceCounted ()
 Destructor.
 
void grab () const
 Grabs the object. Increments the reference counter by one.
 
bool drop () const
 Drops the object. Decrements the reference counter by one.
 
s32 getReferenceCount () const
 Get the reference count.
 
const c8getDebugName () const
 Returns the debug name of the object.
 
- Public Member Functions inherited from jpp::IEventReceiver
virtual ~IEventReceiver ()
 Destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from jpp::scene::ISceneNodeAnimator
void cloneMembers (const ISceneNodeAnimator *toCopyFrom)
 
- Protected Member Functions inherited from jpp::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.
 
- Protected Attributes inherited from jpp::scene::ISceneNodeAnimator
bool IsEnabled
 
u32 PauseTimeSum
 Only enabled animators are updated.
 
u32 PauseTimeStart
 Sum up time which the animator was disabled.
 
u32 StartTime
 Last time setEnabled(false) was called with a timer > 0.
 

Detailed Description

Special scene node animator for FPS cameras.

This scene node animator can be attached to a camera to make it act like a first person shooter

Member Function Documentation

◆ getRotateSpeed()

virtual f32 jpp::scene::ISceneNodeAnimatorCameraFPS::getRotateSpeed ( ) const
pure virtual

Returns the rotation speed in degrees when using mouse.

The degrees are equivalent to a half screen movement of the mouse, i.e. if the mouse cursor had been moved to the border of the screen since the last animation.

◆ setInvertMouse()

virtual void jpp::scene::ISceneNodeAnimatorCameraFPS::setInvertMouse ( bool  invert)
pure virtual

Sets whether the Y axis of the mouse should be inverted.

If enabled then moving the mouse down will cause the camera to look up. It is disabled by default.

◆ setKeyMap() [1/2]

virtual void jpp::scene::ISceneNodeAnimatorCameraFPS::setKeyMap ( const core::array< SKeyMap > &  keymap)
pure virtual

Sets the keyboard mapping for this animator

Parameters
keymapThe new keymap array

◆ setKeyMap() [2/2]

virtual void jpp::scene::ISceneNodeAnimatorCameraFPS::setKeyMap ( SKeyMap map,
u32  count 
)
pure virtual

Sets the keyboard mapping for this animator (old style)

Parameters
mapArray of keyboard mappings, see jpp::SKeyMap
countSize of the keyboard map array.

◆ setVerticalMovement()

virtual void jpp::scene::ISceneNodeAnimatorCameraFPS::setVerticalMovement ( bool  allow)
pure virtual

Sets whether vertical movement should be allowed.

If vertical movement is enabled then the camera may fight with gravity causing camera shake. Disable this if the camera has a collision animator with gravity enabled.


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

Jimcpp    @cppfx.xyz

K