public static void Test()
        {
            VirtualWorld virtualWorld = new VirtualWorld("lyoko"); //we would store it in ISector if we didn't need our specific methods

            virtualWorld.Sectors.Add(new Sector(virtualWorld, "ice", 10));
            virtualWorld.Activate("ice", 5);
        }
Example #2
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo   = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var draw = new WhiteSquareService(wo, VW, squareSize);

            wo.AddService(typeof(WhiteSquareService), draw);
        }
Example #3
0
 public RenderSubsystem(VirtualWorld VW, ICamera camera, int size)
 {
     this.camera       = camera;
     this.Size         = size;
     ShaderProgramList = new Dictionary <string, ShaderProgram>();
     LoadShaderPrograms();
 }
Example #4
0
 public VRProtocol(IServiceProvider wObj, VirtualWorld VW, string cam1Params, string cam2Params, bool cam1Use, bool cam2Use, bool cam1Track, bool cam2Track,
                   bool cam1Disp, bool cam2Disp, bool cam1Rec, bool cam2Rec, string cam1StringRec, string cam2StringRec, int cam1FPS, int cam2FPS,
                   bool pulsePalUse, string pulsePalPort, bool photodiodeUse, string photodiodePort, bool trackingRec,
                   string trackingRecPath, bool stimulusRec, string stimulusRecPath, bool photodiodeRec, string photodiodeRecPath, bool twoFliesInArena, float duration)
 {
     this.paramsPathCam1       = cam1Params;
     this.paramsPathCam2       = cam2Params;
     this.useCam1              = cam1Use;
     this.useCam2              = cam2Use;
     this.trackCam1            = cam1Track;
     this.trackCam2            = cam2Track;
     this.dispCam1             = cam1Disp;
     this.dispCam2             = cam2Disp;
     this.recordCam1           = cam1Rec;
     this.recordCam2           = cam2Rec;
     this.fpsCam1              = cam1FPS;
     this.fpsCam2              = cam2FPS;
     this.recordPathCam1       = cam1StringRec;
     this.recordPathCam2       = cam2StringRec;
     this.usePulsePal          = pulsePalUse;
     this.portPulsePal         = pulsePalPort;
     this.usePhotodiode        = photodiodeUse;
     this.portPhotodiode       = photodiodePort;
     this.recordTracking       = trackingRec;
     this.recordPathTracking   = trackingRecPath;
     this.recordStimulus       = stimulusRec;
     this.recordPathStimulus   = stimulusRecPath;
     this.recordPhotodiode     = photodiodeRec;
     this.recordPathPhotodiode = photodiodeRecPath;
     this.twoFlies             = twoFliesInArena;
     this.duration             = duration;
 }
Example #5
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo       = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var nameServ = new NameService(wo, VW, name);

            wo.AddService(typeof(NameService), nameServ);
        }
Example #6
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var pos = new PositionService(wo, VW, new Vector3(x, y, z), new Vector3(rx, ry, rz), scale);

            wo.AddService(typeof(PositionService), pos);
        }
Example #7
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new UpdateFlickerClock(wo, VW, freq);

            upd.Start();
            wo.AddService(typeof(UpdateFlickerClock), upd);
        }
Example #8
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new UpdateStimulus(wo, VW, protocol, protocol_radius, protocol_speed, protocol_direction, protocol_timer, protocol_numb, protocol_nosave);

            upd.Start();
            wo.AddService(typeof(UpdateStimulus), upd);
        }
Example #9
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new UpdatePhotodiode(wo, VW, frames);

            upd.Start();
            wo.AddService(typeof(UpdatePhotodiode), upd);
        }
Example #10
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new UpdateWithFlyConstantDrift(wo, VW, rSpeed, direction, trials);

            upd.Start();
            wo.AddService(typeof(UpdateWithFlyConstantDrift), upd);
        }
Example #11
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new RFMappingRotDotStim(wo, VW, amp, size, speed, tTime);

            upd.Start();
            wo.AddService(typeof(RFMappingRotDotStim), upd);
        }
Example #12
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo  = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var upd = new UpdateNormalReverseGain(wo, VW, gain, trials);

            upd.Start();
            wo.AddService(typeof(UpdateNormalReverseGain), upd);
        }
Example #13
0
 public UpdateRotationClosedLoopNG(IServiceContainer wObj, VirtualWorld VW, long freq) : base(wObj, VW)
 {
     posServ = new PositionService();
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #14
0
 public PositionService(IServiceProvider WObj, VirtualWorld VW, Vector3 position, Vector3 rotation, float scale)
 {
     this.position    = position;
     this.rotation    = rotation;
     this.scale       = scale;
     velocity         = new Vector3(0, 0, 0);
     rotationVelocity = new Vector3(0, 0, 0);
 }
Example #15
0
 public DarkSquareService(IServiceContainer wObj, VirtualWorld VW, int squareSize) : base(wObj, VW)
 {
     if (VW.render != null && squareSize != 0)
     {
         VW.render.ShaderProgramList.TryGetValue("solidProgram", out sp);
         rObj = new ColoredObject(VertexFactory.CreateSolidSquare(squareSize, 1, Color4.Black), sp.Id);
         VW.render.DrawServices.Add(nameService.name, this);
     }
 }
Example #16
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo         = (IServiceContainer)provider.GetService(typeof(IServiceContainer));
            var vrProtocol = new VRProtocol(wo, VW, cam1pathParams, cam2pathParams, cam1Use, cam2Use, cam1Track, cam2Track, cam1Disp, cam2Disp, cam1Rec,
                                            cam2Rec, cam1pathRec, cam2pathRec, cam1FPS, cam2FPS, usePulsePal, ppPort, usePhotodiode, pdPort,
                                            recordTracking, pathRecordingTracking, recordStimulus, pathRecordingStimulus, recordPhotodiode, pathRecordingPhotodiode, twoFliesInArena, duration);

            wo.AddService(typeof(VRProtocol), vrProtocol);
        }
Example #17
0
 public TexturedSquareService(IServiceContainer wObj, VirtualWorld VW, string texturePath, int textureSize) : base(wObj, VW)
 {
     if (VW.render != null && texturePath != "")
     {
         VW.render.ShaderProgramList.TryGetValue("textureProgram", out sp);
         rObj = new TexturedObject(VertexFactory.CreateTexturedSquare(textureSize, 1, textureSize, textureSize), sp.Id, texturePath);
         VW.render.DrawServices.Add(nameService.name, this);
     }
 }
Example #18
0
 public UpdatePhotodiode(IServiceContainer wObj, VirtualWorld VW, float photodiodeShadowFrames) : base(wObj, VW)
 {
     posServ = new PositionService();
     this.photodiodeShadowFrames = photodiodeShadowFrames;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #19
0
 public UpdateFlickerClock(IServiceContainer wObj, VirtualWorld VW, long freq) : base(wObj, VW)
 {
     this.freq          = (ulong)freq;
     posServ            = new PositionService();
     posServ.rotation.X = 0f;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #20
0
 public UpdateWithFlyConstantDrift(IServiceContainer wObj, VirtualWorld VW, float rSpeed, string direction, List <Trial> trials) : base(wObj, VW)
 {
     this.rSpeed    = rSpeed;
     this.trials    = trials;
     this.direction = direction;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #21
0
 public UpdateNormalReverseGain(IServiceContainer wObj, VirtualWorld VW, float gain, List <Trial> trials) : base(wObj, VW)
 {
     posServ     = new PositionService();
     this.trials = trials;
     this.gain   = gain;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #22
0
 public DarkEllipseService(IServiceContainer wObj, VirtualWorld VW, int circleRadiusX, int circleRadiusY, int np) : base(wObj, VW)
 {
     this.np = np;
     if (VW.render != null && circleRadiusX != 0)
     {
         VW.render.ShaderProgramList.TryGetValue("solidProgram", out sp);
         rObj = new ColoredObject(VertexFactory.CreateSolidEllipse(circleRadiusX, circleRadiusY, np, new float[] { 0, 0 }, 1, Color4.Black), sp.Id);
         VW.render.DrawServices.Add(nameService.name, this);
     }
 }
Example #23
0
 public RFMappingRotDotStim(IServiceContainer wObj, VirtualWorld VW, float amplitude, float size, float speed, float tTime) : base(wObj, VW)
 {
     this.amplitude = amplitude;
     this.size      = size;
     this.speed     = speed;
     this.tTime     = tTime;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #24
0
 public UpdateOscilatingDrift(IServiceContainer wObj, VirtualWorld VW, float rSpeed, float amp, string direction, List <Trial> trials) : base(wObj, VW)
 {
     this.rSpeed    = rSpeed;
     this.amp       = amp;
     this.direction = direction;
     this.trials    = trials;
     posServ        = new PositionService();
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #25
0
 public DrawService(IServiceProvider WObj, VirtualWorld VW)
 {
     WO = WObj;
     if (WObj.GetService(typeof(NameService)) != null)
     {
         nameService = (NameService)WObj.GetService(typeof(NameService));
     }
     if (WObj.GetService(typeof(PositionService)) != null)
     {
         positionService = (PositionService)WObj.GetService(typeof(PositionService));
     }
 }
Example #26
0
 public UpdateStimulus(IServiceContainer wObj, VirtualWorld VW, int protocol, float protocol_radius, float protocol_speed, int protocol_direction, float protocol_timer, int protocol_numb, int protocol_nosave) : base(wObj, VW)
 {
     posServ                 = new PositionService();
     this.protocol           = protocol;
     this.protocol_radius    = protocol_radius;
     this.protocol_speed     = protocol_speed;
     this.protocol_direction = protocol_direction;
     this.protocol_timer     = protocol_timer;
     this.protocol_numb      = protocol_numb;
     this.protocol_nosave    = protocol_nosave;
     if (VW.update != null)
     {
         VW.update.UpdateServices.Add(this.nameService.name, this);
     }
 }
Example #27
0
        public override void Initialize(IServiceProvider provider, VirtualWorld VW)
        {
            var wo = (IServiceContainer)provider.GetService(typeof(IServiceContainer));

            // Convert the radius from MillimeterCurve into VirtualRealityLinear (Approximation)
            External.Coordinates coord = new External.Coordinates()
            {
                MillimetersCurve = new Point2d(circleRadius, circleRadius)
            };
            External.Coordinates center = new External.Coordinates()
            {
                MillimetersCurve = new Point2d(0, 0)
            };
            int radius = Convert.ToInt32(((coord.VirtualRealityLine.X - center.VirtualRealityLine.X) + (coord.VirtualRealityLine.Y - center.VirtualRealityLine.Y)) / 2);
            //Console.WriteLine("{0}", radius);
            var draw = new WhiteCircleService(wo, VW, radius, np);

            wo.AddService(typeof(WhiteCircleService), draw);
        }
Example #28
0
 public UpdateSubsystem(VirtualWorld VW)
 {
 }
Example #29
0
 public NameService(IServiceProvider wObj, VirtualWorld VW, string str)
 {
     name = str;
 }
 public InjectablePhysicContext()
 {
     World = new VirtualWorld();
 }