00001 #include <stdlib.h> 00002 00003 #include "FCam/Lens.h" 00004 #include "FCam/Frame.h" 00005 00006 #include "Debug.h" 00007 00008 namespace FCam { 00009 00010 Lens::FocusAction::FocusAction(Lens *l) : 00011 lens(l) { 00012 focus = 0.0f; 00013 speed = lens->maxFocusSpeed(); 00014 latency = lens->focusLatency(); 00015 time = 0; 00016 } 00017 00018 Lens::FocusAction::FocusAction(Lens *l, int t, float f) : 00019 focus(f), lens(l) { 00020 speed = lens->maxFocusSpeed(); 00021 latency = lens->focusLatency(); 00022 time = t; 00023 } 00024 00025 Lens::FocusAction::FocusAction(Lens *l, int t, float f, float s) : 00026 focus(f), speed(s), lens(l) { 00027 latency = lens->focusLatency(); 00028 time = t; 00029 } 00030 00031 void Lens::FocusAction::doAction() { 00032 lens->setFocus(focus, speed); 00033 } 00034 00035 Lens::ZoomAction::ZoomAction(Lens *l) : 00036 lens(l) { 00037 zoom = 0.0f; 00038 speed = lens->maxZoomSpeed(); 00039 latency = lens->zoomLatency(); 00040 time = 0; 00041 } 00042 00043 Lens::ZoomAction::ZoomAction(Lens *l, int t, float f) : 00044 zoom(f), lens(l) { 00045 speed = lens->maxZoomSpeed(); 00046 latency = lens->zoomLatency(); 00047 time = t; 00048 } 00049 00050 Lens::ZoomAction::ZoomAction(Lens *l, int t, float f, float s) : 00051 zoom(f), speed(s), lens(l) { 00052 latency = lens->zoomLatency(); 00053 time = t; 00054 } 00055 00056 void Lens::ZoomAction::doAction() { 00057 lens->setZoom(zoom, speed); 00058 } 00059 00060 00061 Lens::ApertureAction::ApertureAction(Lens *l) : 00062 lens(l) { 00063 aperture = 0.0f; 00064 speed = lens->maxApertureSpeed(); 00065 latency = lens->apertureLatency(); 00066 time = 0; 00067 } 00068 00069 Lens::ApertureAction::ApertureAction(Lens *l, int t, float f) : 00070 aperture(f), lens(l) { 00071 speed = lens->maxApertureSpeed(); 00072 latency = lens->apertureLatency(); 00073 time = t; 00074 } 00075 00076 Lens::ApertureAction::ApertureAction(Lens *l, int t, float f, float s) : 00077 aperture(f), speed(s), lens(l) { 00078 latency = lens->apertureLatency(); 00079 time = t; 00080 } 00081 00082 void Lens::ApertureAction::doAction() { 00083 lens->setAperture(aperture, speed); 00084 } 00085 00086 Lens::Tags::Tags(Frame f) { 00087 initialFocus = f["lens.initialFocus"]; 00088 finalFocus = f["lens.finalFocus"]; 00089 focus = f["lens.focus"]; 00090 focusSpeed = f["lens.focusSpeed"]; 00091 zoom = f["lens.zoom"]; 00092 initialZoom = f["lens.initialZoom"]; 00093 finalZoom = f["lens.finalZoom"]; 00094 aperture = f["lens.aperture"]; 00095 initialAperture = f["lens.initialAperture"]; 00096 finalAperture = f["lens.finalAperture"]; 00097 apertureSpeed = f["lens.aperturedSpeed"]; 00098 } 00099 00100 }