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

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

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

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

Public Member Functions

virtual dcpp::float32_kt getMoveSpeed () const =0
 Returns the speed of movement in units per millisecond.
 
virtual void setMoveSpeed (dcpp::float32_kt moveSpeed)=0
 Sets the speed of movement in units per millisecond.
 
virtual dcpp::float32_kt getRotateSpeedKeyboard () const =0
 Returns the rotation speed when using keyboard.
 
virtual void setRotateSpeedKeyboard (dcpp::float32_kt rotateSpeed)=0
 Set the rotation speed when using keyboard.
 
virtual dcpp::float32_kt getRotateSpeed () const =0
 Returns the rotation speed in degrees when using mouse.
 
virtual void setRotateSpeed (dcpp::float32_kt rotateSpeed)=0
 Set the rotation speed in degrees when using mouse.
 
virtual void setKeyMap (SKeyMap *map, dcpp::uint32_kt count)=0
 Sets the keyboard mapping for this animator (old style)
 
virtual void setKeyMap (const dcpp::nub::array< SKeyMap > &keymap)=0
 
virtual const dcpp::nub::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 dcpp::scene::ISceneNodeAnimator
virtual void animateNode (ISceneNode *node, dcpp::uint32_kt 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 (dcpp::uint32_kt time, bool resetPauseTime=true)
 Reset a time-based movement by changing the starttime.
 
virtual dcpp::uint32_kt getStartTime () const
 Get the starttime.
 
virtual void setEnabled (bool enabled, dcpp::uint32_kt timeNow=0)
 Sets the enabled state of this element.
 
virtual bool isEnabled () const
 
virtual void serializeAttributes (dcpp::io::IAttributes *out, dcpp::io::SAttributeReadWriteOptions *options=0) const override
 Writes attributes of the scene node animator.
 
virtual void deserializeAttributes (dcpp::io::IAttributes *in, dcpp::io::SAttributeReadWriteOptions *options=0) override
 Reads attributes of the scene node animator.
 
- Public Member Functions inherited from dcpp::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.
 
dcpp::int32_kt getReferenceCount () const
 Get the reference count.
 
const dcpp::char_ktgetDebugName () const
 Returns the debug name of the object.
 
- Public Member Functions inherited from dcpp::IEventReceiver
virtual ~IEventReceiver ()
 Destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from dcpp::scene::ISceneNodeAnimator
void cloneMembers (const ISceneNodeAnimator *toCopyFrom)
 
- Protected Member Functions inherited from dcpp::IReferenceCounted
void setDebugName (const dcpp::char_kt *newName)
 Sets the debug name of the object.
 
- Protected Attributes inherited from dcpp::scene::ISceneNodeAnimator
bool IsEnabled
 
dcpp::uint32_kt PauseTimeSum
 Only enabled animators are updated.
 
dcpp::uint32_kt PauseTimeStart
 Sum up time which the animator was disabled.
 
dcpp::uint32_kt 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 dcpp::float32_kt dcpp::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 dcpp::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 dcpp::scene::ISceneNodeAnimatorCameraFPS::setKeyMap ( const dcpp::nub::array< SKeyMap > &  keymap)
pure virtual

Sets the keyboard mapping for this animator

Parameters
keymapThe new keymap array

◆ setKeyMap() [2/2]

virtual void dcpp::scene::ISceneNodeAnimatorCameraFPS::setKeyMap ( SKeyMap map,
dcpp::uint32_kt  count 
)
pure virtual

Sets the keyboard mapping for this animator (old style)

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

◆ setVerticalMovement()

virtual void dcpp::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:

Duckcpp    @cppfx.xyz