buildCamera method
Camera?
buildCamera(
- Map<String, dynamic> data
)
Implementation
Camera? buildCamera(Map<String, dynamic> data ) {
Camera? camera;
switch ( data['optics']['technique'] ) {
case 'perspective':
camera = PerspectiveCamera(
data['optics']['parameters']['yfov'],
data['optics']['parameters']['aspect_ratio'],
data['optics']['parameters']['znear'],
data['optics']['parameters']['zfar']
);
break;
case 'orthographic':
var ymag = data['optics']['parameters']['ymag'];
var xmag = data['optics']['parameters']['xmag'];
final aspectRatio = data['optics']['parameters']['aspect_ratio'];
xmag = ( xmag == null ) ? ( ymag * aspectRatio ) : xmag;
ymag = ( ymag == null ) ? ( xmag / aspectRatio ) : ymag;
xmag *= 0.5;
ymag *= 0.5;
camera = OrthographicCamera(
- xmag, xmag, ymag, - ymag, // left, right, top, bottom
data['optics']['parameters']['znear'],
data['optics']['parameters']['zfar']
);
break;
default:
camera =PerspectiveCamera();
break;
}
camera.name = data['name'] ?? '';
return camera;
}