Untold Engine  Beta v0.0.16
docs
U4DEngine::U4DJoystick Class Reference

The U4DJoystick class controls the joystick entity. More...

Inherits U4DEngine::U4DShaderEntity.

Public Member Functions

 U4DJoystick (std::string uName, float xPosition, float yPosition, const char *uBackGroundImage, float uBackgroundWidth, float uBackgroundHeight, const char *uJoyStickImage)
 Class constructor. More...
 
 U4DJoystick (std::string uName, float xPosition, float yPosition, float uBackgroundWidth, float uBackgroundHeight)
 
 ~U4DJoystick ()
 Class destructor.
 
void update (double dt)
 Updates the state of joystick. More...
 
void action ()
 Informs the callback pointer to call the appropriate method. More...
 
bool changeState (INPUTELEMENTACTION uInputAction, U4DVector2n uPosition)
 Changes the state of the joystick. More...
 
void setDataPosition (U4DVector2n uData)
 Sets the computed position of the joystick. More...
 
U4DVector2n getDataPosition ()
 Gets the computed position of joystick. More...
 
void setDataMagnitude (float uValue)
 Sets the magnitude position of the joystick. More...
 
float getDataMagnitude ()
 Gets the magnitude position of the joystick. More...
 
bool getIsActive ()
 Get if the joystick is currently active. More...
 
void setCallbackAction (U4DCallbackInterface *uAction)
 Initializes the callback interface. More...
 
bool getDirectionReversal ()
 Did the user reverse the joystick movement. More...
 
void changeState (int uState)
 
int getState ()
 
void setState (int uState)
 
- Public Member Functions inherited from U4DEngine::U4DShaderEntity
 U4DShaderEntity (int uParamSize)
 
void setShaderDimension (float uWidth, float uHeight)
 
void setTexture0 (const char *uTexture0)
 
void setTexture1 (const char *uTexture1)
 
void render (id< MTLRenderCommandEncoder > uRenderEncoder)
 
void updateShaderParameterContainer (int uPosition, U4DVector4n &uParamater)
 
std::vector< U4DVector4ngetShaderParameterContainer ()
 
void setEnableBlending (bool uValue)
 
bool getEnableBlending ()
 
float getShaderWidth ()
 
float getShaderHeight ()
 
void setEnableAdditiveRendering (bool uValue)
 sets whether additive rendering should be enabled. More...
 
bool getEnableAdditiveRendering ()
 gets whether additive rendering was enabled More...
 
void setHasTexture (bool uValue)
 
bool getHasTexture ()
 
- Public Member Functions inherited from U4DEngine::U4DVisibleEntity
 U4DVisibleEntity ()
 Constructor for the class.
 
virtual ~U4DVisibleEntity ()
 Destructor for the class.
 
 U4DVisibleEntity (const U4DVisibleEntity &value)
 Copy constructor for the visible entity.
 
U4DVisibleEntityoperator= (const U4DVisibleEntity &value)
 Copy constructor for the visible entity. More...
 
virtual void updateAllUniforms ()
 
void loadRenderingInformation ()
 Method which loads all rendering information for the entiy.
 
std::string getFragmentShader ()
 get the name of the fragment shader More...
 
U4DRenderEntitygetRenderEntity ()
 
void setPipelineForPass (std::string uPipelineName, int uRenderPassKey)
 
void setPipeline (std::string uPipelineName)
 sets the pipeline for the default final pass More...
 
- Public Member Functions inherited from U4DEngine::U4DEntity
 U4DEntity ()
 Entity Constructor. It creates the entity with the local orientation set to zero and local position set to the origin. The forwad vector is set to (0.0,0.0,-1.0). Parent and Next pointer set to null.
 
 ~U4DEntity ()
 Entity Destructor.
 
 U4DEntity (const U4DEntity &value)
 Entity Copy Constructor.
 
U4DEntityoperator= (const U4DEntity &value)
 Entity Copy Constructor. More...
 
void setName (std::string uName)
 Method which sets the name of the Entity. More...
 
std::string getName ()
 Method which returns the name of the Entity. More...
 
void setEntityType (ENTITYTYPE uType)
 Method which sets the type of the Entity. More...
 
ENTITYTYPE getEntityType ()
 Method which returns the type of the Entity. More...
 
void setLocalSpace (U4DDualQuaternion &uLocalSpace)
 Method which sets the local space of the Entity. More...
 
void setLocalSpace (U4DMatrix4n &uMatrix)
 Method which sets the local space of the Entity. More...
 
U4DDualQuaternion getLocalSpace ()
 
U4DDualQuaternion getAbsoluteSpace ()
 Method which returns the absolute space of the Entity. More...
 
U4DQuaternion getLocalSpaceOrientation ()
 Method which returns the local orientation space of the Entity. More...
 
U4DQuaternion getLocalSpacePosition ()
 Method which returns the local position space of the Entity. More...
 
U4DQuaternion getAbsoluteSpaceOrientation ()
 Method which returns the absolute orientation space of the Entity. More...
 
U4DQuaternion getAbsoluteSpacePosition ()
 Method which returns the absolute position space of the Entity. More...
 
void setLocalSpaceOrientation (U4DQuaternion &uOrientation)
 Method which sets the local space orientation of the Entity. More...
 
void setLocalSpacePosition (U4DQuaternion &uPosition)
 Method which sets the local space position of the Entity. More...
 
U4DVector3n getLocalOrientation ()
 Method which returns the Local orientation of the Entity. More...
 
U4DVector3n getLocalPosition ()
 Method which returns the local position of the Entity. More...
 
U4DVector3n getAbsoluteOrientation ()
 Method which returns the absolute orientation of the Entity. More...
 
U4DVector3n getAbsolutePosition ()
 Method which returns the absolute position of the Entity. More...
 
U4DVector3n getEntityForwardVector ()
 Method which returns the forwad vector of the Entity. More...
 
void setEntityForwardVector (U4DVector3n &uForwardVector)
 Method which sets the forward vectof of the Entity. The default value is (0.0,0.0,-1.0) More...
 
U4DMatrix3n getAbsoluteMatrixOrientation ()
 Method which returns the absolute orientation of the Entity. More...
 
U4DMatrix3n getLocalMatrixOrientation ()
 Method which returns the local orientation of the Entity. More...
 
void translateTo (U4DVector3n &translation)
 Method which translates entity to a new position. More...
 
void translateTo (float x, float y, float z)
 Method which translates entity to a new position. More...
 
void translateTo (U4DVector2n &translation)
 Method which translates entity to a new position. More...
 
void translateBy (float x, float y, float z)
 Method which translates entity by certain amount. More...
 
void translateBy (U4DVector3n &translation)
 Method which translates entity by a certain amount. More...
 
void rotateTo (U4DQuaternion &rotation)
 Method which rotates entity to a new orientation. More...
 
void rotateBy (U4DQuaternion &rotation)
 Method which rotates entity by a certain amount. More...
 
void rotateTo (float angle, U4DVector3n &axis)
 Method which rotates entity to a new orientation. More...
 
void rotateBy (float angle, U4DVector3n &axis)
 Method which rotates entity by certain amount. More...
 
void rotateTo (float angleX, float angleY, float angleZ)
 Method which rotates entity to a new orientation. More...
 
void rotateBy (float angleX, float angleY, float angleZ)
 Method which rotates entity by a certain amount. More...
 
void rotateAboutAxis (float angle, U4DVector3n &axisOrientation, U4DVector3n &axisPosition)
 Method which rotates entity about an axis. More...
 
void rotateAboutAxis (U4DQuaternion &uOrientation, U4DVector3n &axisPosition)
 Method which rotates entity about an axis. More...
 
virtual void viewInDirection (U4DVector3n &uDestinationPoint)
 Method which sets the view direction of the entity. More...
 
virtual U4DVector3n getViewInDirection ()
 Method which rotates the view direction of the entiy. More...
 
void setZDepth (int uZDepth)
 Loads all rendering information for the entiy ‍/ virtual void loadRenderingInformation(){};. More...
 
int getZDepth ()
 Gets the z-depth value used for rendering ordering. More...
 
- Public Member Functions inherited from U4DEngine::U4DEntityNode< U4DEntity >
 U4DEntityNode ()
 Constructor for the class.
 
 U4DEntityNode (std::string uNodeName)
 
 ~U4DEntityNode ()
 Destructor for the class.
 
void addChild (U4DEntity *uChild)
 Method which adds a child node to a scenegraph. More...
 
void addChild (U4DEntity *uChild, U4DEntity *uNext)
 
void addChild (U4DEntity *uChild, int uZDepth)
 Method which adds a child entity to a scenegraph at a particular location. More...
 
void removeChild (U4DEntity *uChild)
 Method which removes a child node from the scenegraph. More...
 
void changeLastDescendant (U4DEntity *uNewLastDescendant)
 Method which changes the node's last descendant in the scenegraph. More...
 
U4DEntitygetFirstChild ()
 Method which returns the node's first child in the scenegraph. More...
 
U4DEntitygetLastChild ()
 Method which returns the node's last child in the scenegraph. More...
 
U4DEntitygetNextSibling ()
 Method which returns the node's next sibling in the scenegraph. More...
 
U4DEntitygetPrevSibling ()
 Method which returns the node's previous sibling in the scenegraph. More...
 
U4DEntityprevInPreOrderTraversal ()
 Method which returns the node's previous sibling in pre-order traversal order. More...
 
U4DEntitynextInPreOrderTraversal ()
 Method which returns the node's next pointer in pre-order traversal order. More...
 
bool isLeaf ()
 Method which returns true if the node represents a leaf node in the scenegraph. More...
 
bool isRoot ()
 Method which returns true if the node represents a root node in the scenegraph. More...
 
U4DEntitygetParent ()
 Gets the parent to the entity. More...
 
U4DEntitygetRootParent ()
 Gets the root parent (top parent in the scenegraph) of the entity. More...
 
U4DEntitysearchChild (std::string uName)
 

Public Attributes

U4DCallbackInterfacepCallback
 Pointer to the callback object. More...
 
U4DControllerInterfacecontrollerInterface
 Pointer to the controller interface. More...
 
U4DVector2n dataPosition
 joystick data position
 
float dataMagnitude
 magnitude of data position. This is normalized
 
- Public Attributes inherited from U4DEngine::U4DShaderEntity
U4DVertexData bodyCoordinates
 Object which contains attribute data such as vertices, and uv-coordinates.
 
U4DTextureData textureInformation
 Object which contains texture information.
 
- Public Attributes inherited from U4DEngine::U4DVisibleEntity
U4DRenderEntityrenderEntity
 pointer to the rendering entity
 
- Public Attributes inherited from U4DEngine::U4DEntity
U4DDualQuaternion localSpace
 Local Space of the entity.
 
U4DDualQuaternion absoluteSpace
 Absolute Space of the entity.
 
U4DTransformationtransformation
 U4DTransformation object pointer in charge of translating/rotating the entity.
 
U4DVector3n entityForwardVector
 Forward vector of the entity. This is used to compute the view-direction vector.
 
int zDepth
 z-depth used for rendering ordering
 
- Public Attributes inherited from U4DEngine::U4DEntityNode< U4DEntity >
U4DEntityparent
 Tree parent pointer.
 
U4DEntityprevSibling
 Tree previous sibling pointer.
 
U4DEntitynext
 Tree next pointer.
 
U4DEntitylastDescendant
 Tree last descendant pointer.
 

Additional Inherited Members

- Protected Attributes inherited from U4DEngine::U4DEntity
U4DVector3n localOrientation
 Entity local orientation.
 
U4DVector3n localPosition
 Entity local position.
 
U4DVector3n absoluteOrientation
 Entity absolute orientation.
 
U4DVector3n absolutePosition
 Entity absolute position.
 

Detailed Description

The U4DJoystick class controls the joystick entity.

Constructor & Destructor Documentation

◆ U4DJoystick()

U4DEngine::U4DJoystick::U4DJoystick ( std::string  uName,
float  xPosition,
float  yPosition,
const char *  uBackGroundImage,
float  uBackgroundWidth,
float  uBackgroundHeight,
const char *  uJoyStickImage 
)

Class constructor.

creates the state manager and sets the texture for the joystick and translates it to the assigned position

Parameters
uNamename of joystick
xPositionx-axis position
yPositiony-axis position
uBackGroundImagebackground joystick texture name
uBackgroundWidthbackground texture width
uBackgroundHeightbackground texture height
uJoyStickImagejoystick texture name

Member Function Documentation

◆ action()

void U4DEngine::U4DJoystick::action ( )

Informs the callback pointer to call the appropriate method.

The method the callback pointer calls is set up during the initialization of the controller. This is set up by the user.

◆ changeState()

bool U4DEngine::U4DJoystick::changeState ( INPUTELEMENTACTION  uInputAction,
U4DVector2n  uPosition 
)
virtual

Changes the state of the joystick.

The state manager changes the state of the joystick to either active or released depending on the touch

Parameters
uInputActiontouch state. that is moved or released
uPositiontouch position

Reimplemented from U4DEngine::U4DEntity.

◆ getDataMagnitude()

float U4DEngine::U4DJoystick::getDataMagnitude ( )

Gets the magnitude position of the joystick.

This is computed by subtracting the current position of the joystick and the position of the background texture

Returns
magnitude of data

◆ getDataPosition()

U4DVector2n U4DEngine::U4DJoystick::getDataPosition ( )

Gets the computed position of joystick.

This data is computed taking into account the current touch position, location of joystick and texture radius

Returns
computed data

◆ getDirectionReversal()

bool U4DEngine::U4DJoystick::getDirectionReversal ( )

Did the user reverse the joystick movement.

Returns
true if a reversal in direction did occur

◆ getIsActive()

bool U4DEngine::U4DJoystick::getIsActive ( )

Get if the joystick is currently active.

Returns
true for active. false for released or idle

◆ setCallbackAction()

void U4DEngine::U4DJoystick::setCallbackAction ( U4DCallbackInterface uAction)

Initializes the callback interface.

The callback is set during the controller initialization by the user. It sets which method to call if there is an action detected on the joystick

Parameters
uActioncallback interface object

◆ setDataMagnitude()

void U4DEngine::U4DJoystick::setDataMagnitude ( float  uValue)

Sets the magnitude position of the joystick.

This is computed by subtracting the current position of the joystick and the position of the background texture

Parameters
uValuemagnitude

◆ setDataPosition()

void U4DEngine::U4DJoystick::setDataPosition ( U4DVector2n  uData)

Sets the computed position of the joystick.

This data is computed taking into account the current touch position, location of joystick and texture radius

Parameters
uDatacomputed data

◆ update()

void U4DEngine::U4DJoystick::update ( double  dt)
virtual

Updates the state of joystick.

The state manager updates the state of the joystick. The states are either idle, active or released

Parameters
dtgame tick

Reimplemented from U4DEngine::U4DShaderEntity.

Member Data Documentation

◆ controllerInterface

U4DControllerInterface* U4DEngine::U4DJoystick::controllerInterface

Pointer to the controller interface.

Usually the controller interface for button is the touch interface

◆ pCallback

U4DCallbackInterface* U4DEngine::U4DJoystick::pCallback

Pointer to the callback object.

This callback is used to inform the button which method to call upon pressed