Skip to content
Snippets Groups Projects
Commit 10293178 authored by Ali Can Demiralp's avatar Ali Can Demiralp
Browse files

Updated from VR-Group/turbulent_flow.

parent 34aeeeea
Branches
Tags
No related merge requests found
#####################################################################
# nDisplay config file
#
# This file demonstrates how to configure for the AixCAVE.
#####################################################################
#####################################################################
# List of cluster nodes
#********************************************************************
# Cluster node is an application instance. It's allowed to use
# multiple instances on the same PC. Sometimes its necessary.
#
# Properties:
# id - unique node name
# addr - network address (IPv4 only)
# screen - projection screen ID to use
# viewport - viewport ID to use
# master - specifies if current node is master; default is 'false'
# port_cs - Cluster Synchronization port (required on master node only)
# port_ss - Swap Synchronization port (required on master node only)
#
# Optional properties:
# sound - turns on/off sound for this application instance; default is 'false'
#********************************************************************
[cluster_node] id=node_main addr=10.0.1.29 screen=screen_main viewport=vp_1000 port_cs=41001 port_ss=41002 master=true sound=true
[cluster_node] id=node_front_upper_left_eye_left addr=10.0.1.1 screen=screen_front_upper_left viewport=vp_1200
[cluster_node] id=node_front_upper_left_eye_right addr=10.0.1.1 screen=screen_front_upper_left viewport=vp_1200
[cluster_node] id=node_front_upper_right_eye_left addr=10.0.1.2 screen=screen_front_upper_right viewport=vp_1200
[cluster_node] id=node_front_upper_right_eye_right addr=10.0.1.2 screen=screen_front_upper_right viewport=vp_1200
[cluster_node] id=node_front_lower_left_eye_left addr=10.0.1.3 screen=screen_front_lower_left viewport=vp_1200
[cluster_node] id=node_front_lower_left_eye_right addr=10.0.1.3 screen=screen_front_lower_left viewport=vp_1200
[cluster_node] id=node_front_lower_right_eye_left addr=10.0.1.4 screen=screen_front_lower_left viewport=vp_1200
[cluster_node] id=node_front_lower_right_eye_right addr=10.0.1.4 screen=screen_front_lower_left viewport=vp_1200
[cluster_node] id=node_left_upper_left_eye_left addr=10.0.1.5 screen=screen_left_upper_left viewport=vp_1200
[cluster_node] id=node_left_upper_left_eye_right addr=10.0.1.5 screen=screen_left_upper_left viewport=vp_1200
[cluster_node] id=node_left_upper_right_eye_left addr=10.0.1.6 screen=screen_left_upper_right viewport=vp_1200
[cluster_node] id=node_left_upper_right_eye_right addr=10.0.1.6 screen=screen_left_upper_right viewport=vp_1200
[cluster_node] id=node_left_lower_left_eye_left addr=10.0.1.7 screen=screen_left_lower_left viewport=vp_1200
[cluster_node] id=node_left_lower_left_eye_right addr=10.0.1.7 screen=screen_left_lower_left viewport=vp_1200
[cluster_node] id=node_left_lower_right_eye_left addr=10.0.1.8 screen=screen_left_lower_right viewport=vp_1200
[cluster_node] id=node_left_lower_right_eye_right addr=10.0.1.8 screen=screen_left_lower_right viewport=vp_1200
[cluster_node] id=node_right_upper_left_eye_left addr=10.0.1.9 screen=screen_right_upper_left viewport=vp_1200
[cluster_node] id=node_right_upper_left_eye_right addr=10.0.1.9 screen=screen_right_upper_left viewport=vp_1200
[cluster_node] id=node_right_upper_right_eye_left addr=10.0.1.10 screen=screen_right_upper_right viewport=vp_1200
[cluster_node] id=node_right_upper_right_eye_right addr=10.0.1.10 screen=screen_right_upper_right viewport=vp_1200
[cluster_node] id=node_right_lower_left_eye_left addr=10.0.1.11 screen=screen_right_lower_left viewport=vp_1200
[cluster_node] id=node_right_lower_left_eye_right addr=10.0.1.11 screen=screen_right_lower_left viewport=vp_1200
[cluster_node] id=node_right_lower_right_eye_left addr=10.0.1.12 screen=screen_right_lower_right viewport=vp_1200
[cluster_node] id=node_right_lower_right_eye_right addr=10.0.1.12 screen=screen_right_lower_right viewport=vp_1200
[cluster_node] id=node_back_upper_left_eye_left addr=10.0.1.13 screen=screen_back_upper_left viewport=vp_1200
[cluster_node] id=node_back_upper_left_eye_right addr=10.0.1.13 screen=screen_back_upper_left viewport=vp_1200
[cluster_node] id=node_back_upper_right_eye_left addr=10.0.1.14 screen=screen_back_upper_right viewport=vp_1200
[cluster_node] id=node_back_upper_right_eye_right addr=10.0.1.14 screen=screen_back_upper_right viewport=vp_1200
[cluster_node] id=node_back_lower_left_eye_left addr=10.0.1.15 screen=screen_back_lower_left viewport=vp_1200
[cluster_node] id=node_back_lower_left_eye_right addr=10.0.1.15 screen=screen_back_lower_left viewport=vp_1200
[cluster_node] id=node_back_lower_right_eye_left addr=10.0.1.16 screen=screen_back_lower_right viewport=vp_1200
[cluster_node] id=node_back_lower_right_eye_right addr=10.0.1.16 screen=screen_back_lower_right viewport=vp_1200
[cluster_node] id=node_floor_front_upper_left_eye_left addr=10.0.1.17 screen=screen_floor_front_upper_left viewport=vp_1200
[cluster_node] id=node_floor_front_upper_left_eye_right addr=10.0.1.17 screen=screen_floor_front_upper_left viewport=vp_1200
[cluster_node] id=node_floor_front_upper_right_eye_left addr=10.0.1.19 screen=screen_floor_front_upper_right viewport=vp_1200
[cluster_node] id=node_floor_front_upper_right_eye_right addr=10.0.1.19 screen=screen_floor_front_upper_right viewport=vp_1200
[cluster_node] id=node_floor_front_lower_left_eye_left addr=10.0.1.18 screen=screen_floor_front_lower_left viewport=vp_1200
[cluster_node] id=node_floor_front_lower_left_eye_right addr=10.0.1.18 screen=screen_floor_front_lower_left viewport=vp_1200
[cluster_node] id=node_floor_front_lower_right_eye_left addr=10.0.1.20 screen=screen_floor_front_lower_right viewport=vp_1200
[cluster_node] id=node_floor_front_lower_right_eye_right addr=10.0.1.20 screen=screen_floor_front_lower_right viewport=vp_1200
[cluster_node] id=node_floor_back_upper_left_eye_left addr=10.0.1.21 screen=screen_floor_back_upper_left viewport=vp_1200
[cluster_node] id=node_floor_back_upper_left_eye_right addr=10.0.1.21 screen=screen_floor_back_upper_left viewport=vp_1200
[cluster_node] id=node_floor_back_upper_right_eye_left addr=10.0.1.23 screen=screen_floor_back_upper_right viewport=vp_1200
[cluster_node] id=node_floor_back_upper_right_eye_right addr=10.0.1.23 screen=screen_floor_back_upper_right viewport=vp_1200
[cluster_node] id=node_floor_back_lower_left_eye_left addr=10.0.1.22 screen=screen_floor_back_lower_left viewport=vp_1200
[cluster_node] id=node_floor_back_lower_left_eye_right addr=10.0.1.22 screen=screen_floor_back_lower_left viewport=vp_1200
[cluster_node] id=node_floor_back_lower_right_eye_left addr=10.0.1.24 screen=screen_floor_back_lower_right viewport=vp_1200
[cluster_node] id=node_floor_back_lower_right_eye_right addr=10.0.1.24 screen=screen_floor_back_lower_right viewport=vp_1200
#####################################################################
#####################################################################
# List of projection screens
#********************************************************************
# Projection screen is a rectangle which determines the camera frustum.
# Usually the projection screen has the same dimensions as an output
# display but in some cases it may differ.
#
# Properties:
# id - unique projection screen name
# loc - relative location to the parent component. Location is relative
# to the VR root if no parent specified. The pivot is a screen's
# center and the values are in meters.
# rot - relative rotation to the parent component. Rotation is relative
# to the VR root if no parent specified. The pivot is a screen's
# center and the values are in degrees.
# size - width (X) and height (Y) of the screen. Values are in meters.
#
# Optional properties:
# parent - ID of parent component in VR hierarchy; default is VR root.
# tracker_id - ID of tracking device; no tracking by default.
# tracker_ch - ID of tracking device's channel; no tracking by default.
#********************************************************************
[screen] id=screen_main loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=0.433333,Y=0.270833" parent=display_main
[screen] id=screen_front_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_front_upper_left
[screen] id=screen_front_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_front_upper_right
[screen] id=screen_front_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_front_lower_left
[screen] id=screen_front_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_front_lower_left
[screen] id=screen_left_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_left_upper_left
[screen] id=screen_left_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_left_upper_right
[screen] id=screen_left_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_left_lower_left
[screen] id=screen_left_lower_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_left_lower_right
[screen] id=screen_right_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_right_upper_left
[screen] id=screen_right_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_right_upper_right
[screen] id=screen_right_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_right_lower_left
[screen] id=screen_right_lower_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_right_lower_right
[screen] id=screen_back_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_back_upper_left
[screen] id=screen_back_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_back_upper_right
[screen] id=screen_back_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_back_lower_left
[screen] id=screen_back_lower_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3.14285,Y=1.964285" parent=display_back_lower_right
[screen] id=screen_floor_front_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_front_upper_left
[screen] id=screen_floor_front_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_front_upper_right
[screen] id=screen_floor_front_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_front_lower_left
[screen] id=screen_floor_front_lower_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_front_lower_right
[screen] id=screen_floor_back_upper_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_back_upper_left
[screen] id=screen_floor_back_upper_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_back_upper_right
[screen] id=screen_floor_back_lower_left loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_back_lower_left
[screen] id=screen_floor_back_lower_right loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" size="X=3,Y=1.875" parent=display_floor_back_lower_right
###############################################################
#####################################################################
# List of viewport configurations
#********************************************************************
# Viewport is a rectangle area of game window where rendered frame is
# mapped. Usually the viewport starts at 0:0 and has the same size as
# its parent window but in some cases these settings may differ.
#
# Properties:
# id - unique viewport name
# x - X coordinate of viewport's top left corner
# y - Y coordinate of viewport's top left corner
# width - width of viewport in pixels
# height - height of viewport in pixels
#
# Optional properties:
# flip_h - flip image horizontally; default is 'false'
# flip_v - flip image vertically; default is 'false'
#********************************************************************
[viewport] id=vp_1000 x=0 y=0 width=1600 height=1000 flip_h=False flip_v=False
[viewport] id=vp_1200 x=0 y=0 width=1920 height=1200 flip_h=False flip_v=False
#####################################################################
#####################################################################
# List of cameras
#********************************************************************
# Camera is a predefined point frome where the stereoscopic view built.
# It's possible to define multiple cameras and swith the active one
# during runtime. You're free to attach any camera to a tracking device
# for head tracking. Consider a camera as a viewer's head.
#
# Properties:
# id - unique camera name
# loc - relative location to the parent component. Location is relative
# to the VR root if no parent specified.
# rot - relative rotation to the parent component. Rotation is relative
# to the VR root if no parent specified.
#
# Optional properties:
# parent - ID of parent component in VR hierarchy; default is VR root.
# tracker_id - ID of tracking device; no tracking by default.
# tracker_ch - ID of tracking device's channel; no tracking by default.
#********************************************************************
[camera] id=camera_dynamic loc="X=0,Y=0,Z=0" parent=shutter_glasses
#####################################################################
#####################################################################
# List of scene nodes nodes (hierarchy transforms)
#********************************************************************
# Scene node is an actor component which is basically a transformation
# matrix. Scene nodes can be helpful to build a component hierarchy, to
# define some special places (like a socket) within VR space.
#
# It might be difficult to understand what VR space origin is. Consider
# it as a point in space where VR space starts. Any componenent listed
# in this config file is relative to its parent or this origin.
#
# Properties:
# id - unique scene node name
# loc - relative location to the parent component. Location is relative
# to the VR root if no parent specified.
# rot - relative rotation to the parent component. Rotation is relative
# to the VR root if no parent specified.
#
# Optional properties:
# parent - ID of parent component in VR hierarchy; default is VR root.
# tracker_id - ID of tracking device; no tracking by default.
# tracker_ch - ID of tracking device's channel; no tracking by default.
#********************************************************************
[scene_node] id=cave_origin loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0"
[scene_node] id=cave_center loc="X=0,Y=0,Z=1.65" rot="P=0,Y=0,R=0" parent=cave_origin
[scene_node] id=flystick loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=cave_origin tracker_id=dtrack_tracker tracker_ch=7
[scene_node] id=shutter_glasses loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=cave_origin tracker_id=dtrack_tracker tracker_ch=0
[scene_node] id=display_main loc="X=0.40.0,Y=0,Z=0" rot="P=0,Y=0,R=0" parent=shutter_glasses
[scene_node] id=angle_left loc="X=0,Y=0,Z=0" rot="P=0,Y=-90,R=0" parent=cave_center
[scene_node] id=angle_right loc="X=0,Y=0,Z=0" rot="P=0,Y=90,R=0" parent=cave_center
[scene_node] id=angle_back loc="X=0,Y=0,Z=0" rot="P=0,Y=180,R=0" parent=cave_center
[scene_node] id=angle_floor loc="X=0,Y=0,Z=0" rot="P=-90,Y=0,R=0" parent=cave_origin
[scene_node] id=display_front_upper_left loc="X=2.625,Y=-1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=cave_center
[scene_node] id=display_front_upper_right loc="X=2.625,Y=+1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=cave_center
[scene_node] id=display_front_lower_left loc="X=2.625,Y=-1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=cave_center
[scene_node] id=display_front_lower_left loc="X=2.625,Y=+1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=cave_center
[scene_node] id=display_left_upper_left loc="X=2.625,Y=-1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_left
[scene_node] id=display_left_upper_right loc="X=2.625,Y=+1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_left
[scene_node] id=display_left_lower_left loc="X=2.625,Y=-1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_left
[scene_node] id=display_left_lower_right loc="X=2.625,Y=+1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_left
[scene_node] id=display_right_upper_left loc="X=2.625,Y=-1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_right
[scene_node] id=display_right_upper_right loc="X=2.625,Y=+1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_right
[scene_node] id=display_right_lower_left loc="X=2.625,Y=-1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_right
[scene_node] id=display_right_lower_right loc="X=2.625,Y=+1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_right
[scene_node] id=display_back_upper_left loc="X=2.625,Y=-1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_back
[scene_node] id=display_back_upper_right loc="X=2.625,Y=+1.053575,Z=+0.6678575" rot="P=0,Y=0,R=0" parent=angle_back
[scene_node] id=display_back_lower_left loc="X=2.625,Y=-1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_back
[scene_node] id=display_back_lower_right loc="X=2.625,Y=+1.053575,Z=-0.6678575" rot="P=0,Y=0,R=0" parent=angle_back
[scene_node] id=display_floor_front_upper_left loc="X=0,Y=-1.125,Z=+1.6875" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_front_upper_right loc="X=0,Y=1.125,Z=+1.6875" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_front_lower_left loc="X=0,Y=-1.125,Z=+0.9375" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_front_lower_right loc="X=0,Y=1.125,Z=+0.9375" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_back_upper_left loc="X=0,Y=-1.125,Z=-0.9375" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_back_upper_right loc="X=0,Y=1.125,Z=-0.9375" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_back_lower_left loc="X=0,Y=-1.125,Z=-1.6875" rot="P=0,Y=0,R=0" parent=angle_floor
[scene_node] id=display_floor_back_lower_right loc="X=0,Y=1.125,Z=-1.6875" rot="P=0,Y=0,R=0" parent=angle_floor
#####################################################################
#####################################################################
# List of input devices
#********************************************************************
# Input devices are VRPN devices. The nDisplay supports the following
# types: analog, button and tracker. Many of physical input devices
# can be connected via VRPN.
#
# Properties:
# id - nique device name
# type - VRPN type (analog, button or tracker).
# addr - address of a VRPN server which handles this particular device.
# The value must match the following format: DEVICENAME@SERVER_ADDRESS
# where DEVICENAME is a VRPN name of this device and SERVER_ADDRESS
# is IPv4 address of VRPN server.
# loc - relative location to the parent component. Location is relative
# to the VR root if no parent specified.
# rot - relative rotation to the parent component. Rotation is relative
# to the VR root if no parent specified.
#
# front (tracker only) - mapping of a tracking system axis to X axis of VR origin
# right (tracker only) - mapping of a tracking system axis to Y axis of VR origin
# up (tracker only) - mapping of a tracking system axis to Z axis of VR origin
# * The following values are allowed for axes mapping: X, -X, Y, -Y, Z, -Z
#
# Optional properties:
# remap - VRPN device channel remapping. Value format is: "from0:to0,from1:to1,...,fromN:toN".
# For example: remap="0:3,1:4,5:2"
#********************************************************************
[input] id=dtrack_axis type=analog addr=DTrack2@10.0.1.29
[input] id=dtrack_buttons type=buttons addr=DTrack2@10.0.1.29
[input] id=dtrack_tracker type=tracker addr=DTrack2@10.0.1.29 loc="X=0,Y=0,Z=0" rot="P=0,Y=0,R=0" right=X up=Y front=-Z
#####################################################################
#####################################################################
# Stereoscopic settings
#********************************************************************
# Properties:
# eye_swap - swap left and right eyes:
# false - L|R
# true - R|L
# eye_dist - interoccular distance in meters
[stereo] eye_swap=True eye_dist=0.064
#####################################################################
#####################################################################
# General settings
#********************************************************************
# Properties:
# swap_sync_policy - swap synchronization policy
# - 0 - no synchronization
# - 1 - software swap synchronization
# - 2 - NV swap lock (Nvidia cards only, OpenGL only)
[general] swap_sync_policy=2
#####################################################################
#####################################################################
# Custom arguments
#********************************************************************
# Any custom arguments available in runtime can be specified here.
# Format: ARG_NAME=ARG_VAL
[custom]
#####################################################################
This diff is collapsed.
#include "DisplayClusterPawnCAVE.h"
#include "Cluster/IDisplayClusterClusterManager.h"
#include "Game/IDisplayClusterGameManager.h"
#include "Input/IDisplayClusterInputManager.h"
#include "IDisplayCluster.h"
void ADisplayClusterPawnCAVE::BeginPlay()
void ADisplayClusterPawnCAVE::OnAxisEvent_Implementation (FVector2D Value )
{
Super::BeginPlay();
Flystick = IDisplayCluster::Get().GetGameMgr()->GetNodeById("flystick");
if (!IDisplayCluster::Get().GetClusterMgr()->IsMaster()) return;
AddMovementInput(Flystick->GetRightVector (), Value[0]);
AddMovementInput(Flystick->GetForwardVector(), Value[1]);
}
void ADisplayClusterPawnCAVE::MoveForward(float Value)
void ADisplayClusterPawnCAVE::OnTriggerEvent_Implementation(bool Pressed )
{
if (!Flystick)
Flystick = IDisplayCluster::Get().GetGameMgr()->GetNodeById("flystick");
Flystick ? AddMovementInput(Flystick->GetForwardVector(), Value) : Super::MoveForward(Value);
}
void ADisplayClusterPawnCAVE::OnButtonEvent_Implementation (bool Pressed , int32 Index)
{
}
void ADisplayClusterPawnCAVE::Tick (float DeltaSeconds)
{
// Due to these declarations, this class is bound to aixcave.cfg.
static const auto flystick_name = FString(TEXT("flystick" ));
static const auto axis_name = FString(TEXT("dtrack_axis" ));
static const auto buttons_name = FString(TEXT("dtrack_buttons"));
Super::Tick(DeltaSeconds);
if (!Flystick) Flystick = IDisplayCluster::Get().GetGameMgr()->GetNodeById(flystick_name);
if (!Flystick) return;
FVector2D Axes;
IDisplayCluster::Get().GetInputMgr()->GetAxis(axis_name, 0, Axes[0]);
IDisplayCluster::Get().GetInputMgr()->GetAxis(axis_name, 1, Axes[1]);
if (Axes[0] != 0.0f || Axes[1] != 0.0f) OnAxisEvent_Implementation(Axes);
bool TriggerPressed = false, TriggerReleased = false;
IDisplayCluster::Get().GetInputMgr()->WasButtonPressed (buttons_name, 0, TriggerPressed );
IDisplayCluster::Get().GetInputMgr()->WasButtonReleased(buttons_name, 0, TriggerReleased);
if (TriggerPressed ) OnTriggerEvent_Implementation(true );
if (TriggerReleased) OnTriggerEvent_Implementation(false);
for (auto i = 1; i < 6; ++i)
{
bool ButtonPressed = false, ButtonReleased = false;
IDisplayCluster::Get().GetInputMgr()->WasButtonPressed (buttons_name, i, ButtonPressed );
IDisplayCluster::Get().GetInputMgr()->WasButtonReleased(buttons_name, i, ButtonReleased);
if (ButtonPressed ) OnButtonEvent_Implementation(true , i);
if (ButtonReleased) OnButtonEvent_Implementation(false, i);
}
}
......@@ -2,6 +2,7 @@
#include "CoreMinimal.h"
#include "DisplayClusterGameMode.h"
#include "DisplayClusterGameModeCAVE.generated.h"
UCLASS()
......
......@@ -6,6 +6,7 @@
#include "GameFramework/RotatingMovementComponent.h"
#include "CoreMinimal.h"
#include "DisplayClusterPawn.h"
#include "DisplayClusterPawnBase.generated.h"
UCLASS()
......
......@@ -3,6 +3,7 @@
#include "CoreMinimal.h"
#include "DisplayClusterPawnBase.h"
#include "DisplayClusterSceneComponent.h"
#include "DisplayClusterPawnCAVE.generated.h"
UCLASS()
......@@ -11,9 +12,12 @@ class NDISPLAYEXTENSIONS_API ADisplayClusterPawnCAVE : public ADisplayClusterPaw
GENERATED_BODY()
public:
virtual void BeginPlay() override;
virtual void MoveForward(float Value) override;
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Input") void OnAxisEvent (FVector2D Value );
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Input") void OnButtonEvent (bool Pressed, int32 Index);
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Input") void OnTriggerEvent(bool Pressed);
protected:
virtual void Tick (float DeltaSeconds) override;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Pawn")
UDisplayClusterSceneComponent* Flystick = nullptr;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment