diff --git a/CameraController.cpp b/CameraController.cpp index db6eec8..1d3e2ce 100644 --- a/CameraController.cpp +++ b/CameraController.cpp @@ -133,18 +133,20 @@ void CameraController::tiltDown() void CameraController::centerCamera(Instance* selection) { CoordinateFrame frame = CoordinateFrame(g3dCamera.getCoordinateFrame().translation); - if(selection == NULL) + if(PartInstance* part = dynamic_cast(selection)) { - lookAt(Vector3(0,0,0)); - focusPosition=Vector3(0,0,0); - } - else - { - Vector3 partPos = ((PartInstance*)selection)->getPosition()/2; + Vector3 partPos = (part)->getPosition()/2; lookAt(partPos); focusPosition=partPos; zoom=((partPos-frame.translation).magnitude()); } + else + { + { + lookAt(Vector3(0,0,0)); + focusPosition=Vector3(0,0,0); + } + } } void CameraController::update(Demo* demo)