/* All Rights reserved */ #include #include "ModelView.h" #include "CameraControl.h" #include "Common/Camera.h" #include "Common/Coord.h" @implementation CameraControl - (void) validate: (id)sender { _camera = [_camera initWithFovy: [_cameraFovy doubleValue] aspect: [_cameraAspect doubleValue] zNear: [_cameraZNear doubleValue] zFar: [_cameraZFar doubleValue] eye: MakeCoord([_cameraPositionX floatValue], [_cameraPositionY floatValue], [_cameraPositionZ floatValue]) center: MakeCoord([_cameraPositionX floatValue] + [_cameraDirectionX floatValue], [_cameraPositionY floatValue] + [_cameraDirectionY floatValue], [_cameraPositionZ floatValue] + [_cameraDirectionZ floatValue]) up: MakeCoord([_cameraUpX floatValue], [_cameraUpY floatValue], [_cameraUpZ floatValue]) ]; [_cameraView setCam: _camera]; } - (id) init { self = [super init]; _camera = [_cameraView cam]; coord_t ortho = [_camera ortho]; coord_t eye = [_camera eye]; coord_t dir = SubCoord([_camera center],[_camera eye]); coord_t up = [_camera up]; [_cameraOrthoZ setStringValue: [NSString stringWithFormat: @"%g", ortho.z]]; [_cameraOrthoY setStringValue: [NSString stringWithFormat: @"%g", ortho.y]]; [_cameraOrthoX setStringValue: [NSString stringWithFormat: @"%g", ortho.x]]; [_cameraUpZ setStringValue: [NSString stringWithFormat: @"%g", up.z]]; [_cameraUpY setStringValue: [NSString stringWithFormat: @"%g", up.y]]; [_cameraUpX setStringValue: [NSString stringWithFormat: @"%g", up.x]]; [_cameraDirectionZ setStringValue: [NSString stringWithFormat:@"%g", dir.z]]; [_cameraDirectionY setStringValue: [NSString stringWithFormat:@"%g", dir.y]]; [_cameraDirectionX setStringValue: [NSString stringWithFormat:@"%g", dir.x]]; [_cameraPositionZ setStringValue: [NSString stringWithFormat:@"%g", eye.z]]; [_cameraPositionY setStringValue: [NSString stringWithFormat:@"%g", eye.y]]; [_cameraPositionX setStringValue: [NSString stringWithFormat:@"%g", eye.x]]; [_cameraZFar setStringValue: [NSString stringWithFormat:@"%g", [_camera zFar]]]; [_cameraZNear setStringValue:[NSString stringWithFormat:@"%g", [_camera zNear]]]; [_cameraAspect setStringValue: [NSString stringWithFormat:@"%g", [_camera aspect]]]; [_cameraFovy setStringValue: [NSString stringWithFormat:@"%g", [_camera fovy]]]; return self; } - (void) update { _camera = [_cameraView cam]; coord_t ortho = [_camera ortho]; coord_t eye = [_camera eye]; coord_t dir = SubCoord([_camera center],[_camera eye]); coord_t up = [_camera up]; [_cameraOrthoZ setStringValue: [NSString stringWithFormat: @"%g", ortho.z]]; [_cameraOrthoY setStringValue: [NSString stringWithFormat: @"%g", ortho.y]]; [_cameraOrthoX setStringValue: [NSString stringWithFormat: @"%g", ortho.x]]; [_cameraUpZ setStringValue: [NSString stringWithFormat: @"%g", up.z]]; [_cameraUpY setStringValue: [NSString stringWithFormat: @"%g", up.y]]; [_cameraUpX setStringValue: [NSString stringWithFormat: @"%g", up.x]]; [_cameraDirectionZ setStringValue: [NSString stringWithFormat:@"%g", dir.z]]; [_cameraDirectionY setStringValue: [NSString stringWithFormat:@"%g", dir.y]]; [_cameraDirectionX setStringValue: [NSString stringWithFormat:@"%g", dir.x]]; [_cameraPositionZ setStringValue: [NSString stringWithFormat:@"%g", eye.z]]; [_cameraPositionY setStringValue: [NSString stringWithFormat:@"%g", eye.y]]; [_cameraPositionX setStringValue: [NSString stringWithFormat:@"%g", eye.x]]; [_cameraZFar setStringValue: [NSString stringWithFormat:@"%g", [_camera zFar]]]; [_cameraZNear setStringValue: [NSString stringWithFormat:@"%g", [_camera zNear]]]; [_cameraAspect setStringValue: [NSString stringWithFormat:@"%g", [_camera aspect]]]; [_cameraFovy setStringValue: [NSString stringWithFormat:@"%g", [_camera fovy]]]; } - (void) fax: (id)sender { /* insert your code here */ } - (void) print: (id)sender { /* insert your code here */ } - (void) takeDoubleValueFrom: (id)sender { /* insert your code here */ } - (void) takeFloatValueFrom: (id)sender { /* insert your code here */ } - (void) takeIntValueFrom: (id)sender { /* insert your code here */ } - (void) takeObjectValueFrom: (id)sender { /* insert your code here */ } - (void) takeStringValueFrom: (id)sender { /* insert your code here */ } @end