diff --git a/VistaCoreLibs/VistaBase/VistaQuaternion.cpp b/VistaCoreLibs/VistaBase/VistaQuaternion.cpp
index 8f19f2af10c7f5a1d2f439df08a52153d1ae2dab..513da33b71eaffebe92b1217c5624048d514be8b 100644
--- a/VistaCoreLibs/VistaBase/VistaQuaternion.cpp
+++ b/VistaCoreLibs/VistaBase/VistaQuaternion.cpp
@@ -318,7 +318,12 @@ VistaVector3D VistaQuaternion::GetUpDir() const
 	return Rotate( Vista::UpVector );
 }
 
-void VistaQuaternion::SetFromViewAndUpDir( const VistaVector3D& v3View, const VistaVector3D& v3Up )
+VistaVector3D VistaQuaternion::GetRightDir() const
+{
+	return Rotate( Vista::RightVector );
+}
+
+void VistaQuaternion::SetFromViewAndUpDir(const VistaVector3D& v3View, const VistaVector3D& v3Up)
 {
 	VistaVector3D v3ZAxis = -v3View;
 	VistaVector3D v3XAxis = v3Up.Cross( v3ZAxis );
diff --git a/VistaCoreLibs/VistaBase/VistaQuaternion.h b/VistaCoreLibs/VistaBase/VistaQuaternion.h
index a80450b95c23e7706000f49c20b9942cd41cbe5d..f49bf90172421c2acf9838e5c29f31d88b9a15cd 100644
--- a/VistaCoreLibs/VistaBase/VistaQuaternion.h
+++ b/VistaCoreLibs/VistaBase/VistaQuaternion.h
@@ -135,6 +135,7 @@ public:
 
 	VistaVector3D GetViewDir() const; // this.Rotate( -Z-dir )
 	VistaVector3D GetUpDir() const; // this.Rotate( y-dir )
+	VistaVector3D GetRightDir() const; // this.Rotate( x-dir )
 	void SetFromViewAndUpDir( const VistaVector3D& v3View, const VistaVector3D& v3Up );
 	
 	const VistaQuaternion& operator+=( const VistaQuaternion& v3Other );
diff --git a/VistaCoreLibs/VistaBase/VistaVector3D.h b/VistaCoreLibs/VistaBase/VistaVector3D.h
index 419339c343f1050fd8d44cff13544469f0a8d286..856dd6682c9c28a1b081a3e8ef4f26c815542817 100644
--- a/VistaCoreLibs/VistaBase/VistaVector3D.h
+++ b/VistaCoreLibs/VistaBase/VistaVector3D.h
@@ -118,6 +118,7 @@ namespace Vista
 {
 	const VistaVector3D ViewVector = VistaVector3D( 0, 0, -1, 0 );
 	const VistaVector3D UpVector = VistaVector3D( 0, 1, 0, 0 );
+	const VistaVector3D RightVector = VistaVector3D(1, 0, 0, 0);
 	const VistaVector3D ZeroVector = VistaVector3D( 0, 0, 0, 0 );
 	const VistaVector3D XAxis = VistaVector3D( 1, 0, 0, 0 );
 	const VistaVector3D YAxis = VistaVector3D( 0, 1, 0, 0 );