I also used it for my project and it works as a charm!
Only one small extra addition:
In the methods GetNormal and GetUpVector the cases for Fore and Back where missed, so this can be added in these methods.
private static Vector3D GetNormal(eCameraViews view) { switch (view) { case eCameraViews.Top: return CameraViews.StandardViews.Normals.Top; case eCameraViews.Bottom: return CameraViews.StandardViews.Normals.Bottom; case eCameraViews.Left: return CameraViews.StandardViews.Normals.Left; case eCameraViews.Right: return CameraViews.StandardViews.Normals.Right; case eCameraViews.Fore: return CameraViews.StandardViews.Normals.Fore; case eCameraViews.Back: return CameraViews.StandardViews.Normals.Back; case eCameraViews.Isometric_PPP: return CameraViews.IsometricViews.Normals.PPP; case eCameraViews.Isometric_MPP: return CameraViews.IsometricViews.Normals.MPP; case eCameraViews.Isometric_PMP: return CameraViews.IsometricViews.Normals.PMP; case eCameraViews.Isometric_MMP: return CameraViews.IsometricViews.Normals.MMP; default: throw new NotSupportedException(); } }
private static Vector3D GetUpVector(eCameraViews view) { switch (view) { case eCameraViews.Top: return CameraViews.StandardViews.UpVectors.Top; case eCameraViews.Bottom: return CameraViews.StandardViews.UpVectors.Bottom; case eCameraViews.Left: return CameraViews.StandardViews.UpVectors.Left; case eCameraViews.Right: return CameraViews.StandardViews.UpVectors.Right; case eCameraViews.Fore: return CameraViews.StandardViews.UpVectors.Fore; case eCameraViews.Back: return CameraViews.StandardViews.UpVectors.Back; case eCameraViews.Isometric_PPP: return CameraViews.IsometricViews.UpVectors.PPP; case eCameraViews.Isometric_MPP: return CameraViews.IsometricViews.UpVectors.MPP; case eCameraViews.Isometric_PMP: return CameraViews.IsometricViews.UpVectors.PMP; case eCameraViews.Isometric_MMP: return CameraViews.IsometricViews.UpVectors.MMP; default: throw new NotSupportedException(); } }
Hi Mehdi,
Congrats on the nice solution.
I also used it for my project and it works as a charm!
Only one small extra addition:
In the methods GetNormal and GetUpVector the cases for Fore and Back where missed, so this can be added in these methods.
private static Vector3D GetNormal(eCameraViews view)
{
switch (view)
{
case eCameraViews.Top: return CameraViews.StandardViews.Normals.Top;
case eCameraViews.Bottom: return CameraViews.StandardViews.Normals.Bottom;
case eCameraViews.Left: return CameraViews.StandardViews.Normals.Left;
case eCameraViews.Right: return CameraViews.StandardViews.Normals.Right;
case eCameraViews.Fore: return CameraViews.StandardViews.Normals.Fore;
case eCameraViews.Back: return CameraViews.StandardViews.Normals.Back;
case eCameraViews.Isometric_PPP: return CameraViews.IsometricViews.Normals.PPP;
case eCameraViews.Isometric_MPP: return CameraViews.IsometricViews.Normals.MPP;
case eCameraViews.Isometric_PMP: return CameraViews.IsometricViews.Normals.PMP;
case eCameraViews.Isometric_MMP: return CameraViews.IsometricViews.Normals.MMP;
default:
throw new NotSupportedException();
}
}
private static Vector3D GetUpVector(eCameraViews view)
{
switch (view)
{
case eCameraViews.Top: return CameraViews.StandardViews.UpVectors.Top;
case eCameraViews.Bottom: return CameraViews.StandardViews.UpVectors.Bottom;
case eCameraViews.Left: return CameraViews.StandardViews.UpVectors.Left;
case eCameraViews.Right: return CameraViews.StandardViews.UpVectors.Right;
case eCameraViews.Fore: return CameraViews.StandardViews.UpVectors.Fore;
case eCameraViews.Back: return CameraViews.StandardViews.UpVectors.Back;
case eCameraViews.Isometric_PPP: return CameraViews.IsometricViews.UpVectors.PPP;
case eCameraViews.Isometric_MPP: return CameraViews.IsometricViews.UpVectors.MPP;
case eCameraViews.Isometric_PMP: return CameraViews.IsometricViews.UpVectors.PMP;
case eCameraViews.Isometric_MMP: return CameraViews.IsometricViews.UpVectors.MMP;
default:
throw new NotSupportedException();
}
}
Kind regards,
Joachim