/// <summary> /// Constructor for the IGS. /// Among other things it creates a concrete observer for HttpEven and KinectEvent. /// <param name="data">The Dataholder</param> /// <param name="tracker">The Usertracker</param> /// <param name="server">The HTTP server</param> /// </summary> public PointAndControlMain(DataHolder data, UserTracker tracker, HttpServer server, EventLogger eventLogger) { environmentHandler = new EnvironmentInfoHandler(); Data = data; Tracker = tracker; Server = server; Server.postRequest += server_Post_Request; Server.Request += server_Request; Tracker.KinectEvents += UserLeft; Tracker.Strategy.TrackingStateEvents += SwitchTrackingState; createIGSKinect(); json_paramReader = new JSON_ParameterReader(); this.Transformer = new CoordTransform(IGSKinect.tiltingDegree, IGSKinect.roomOrientation, IGSKinect.ball.Center); logger = eventLogger; this.coreMethods = new CollisionMethod(Data, Tracker, Transformer, logger); }
/// <summary> /// Initializes the dataholder and adds the given device list. /// <param name='devices'> /// The list of the available devices at start of the application /// </param> /// <returns> the initialized dataholder with its devices</returns> /// </summary> private static DataHolder InitializeDataholder(EventLogger logger) { DataHolder data = new DataHolder(logger); return(data); }