public ModelBoundingBox(GraphicsDevice graphicsDevice, Camera camera, bool viewBody) { this.graphicsDevice = graphicsDevice; boundingBoxBuffer = new BoundingBoxBuffer(graphicsDevice); boundingBoxBuffer.Parent = this; axisLines = new AxisLines(); axisLines.Parent = this; this.camera = camera; camera.Attach(axisLines); debugDrawer = new DebugDrawer(graphicsDevice, camera); debugDrawer.Color = Color.LightGreen; this.viewBody = viewBody; }
public void ChangeAxisLines(int mode) { switch (mode) { case 1: if (axisLines.GetType() != typeof(AxisLines)) { camera.Detach(axisLines); axisLines = new AxisLines(); axisLines.Parent = this; if (model != null) { model.Notify(); } camera.Attach(axisLines); camera.Notify(); } break; case 2: if (axisLines.GetType() != typeof(RotationAxisLines)) { camera.Detach(axisLines); axisLines = new RotationAxisLines(); axisLines.Parent = this; if (model != null) { model.Notify(); } camera.Attach(axisLines); camera.Notify(); } break; case 3: if (axisLines.GetType() != typeof(ScaleAxisLines)) { camera.Detach(axisLines); axisLines = new ScaleAxisLines(); axisLines.Parent = this; if (model != null) { model.Notify(); } camera.Attach(axisLines); camera.Notify(); } break; } }