diff --git a/src/OpaqueConversion.hpp b/src/OpaqueConversion.hpp
index c9e9868..b66a3a9 100644
--- a/src/OpaqueConversion.hpp
+++ b/src/OpaqueConversion.hpp
@@ -10,6 +10,8 @@
#include
#include
#include
+
+#include "baseTypes.h"
# if defined( __GNUC__ ) && defined( __sparc__ )
# warning Compiling for SPARC, but temporarily defining __i386__ to trick RTT to compile the headers (see rtt-config.h)
# define __i386__
@@ -92,4 +94,41 @@ void Base_Matrix6d_fromIntermediate(base::Matrix6d& result, const wrappers::Matr
void Base_Matrix6d_toIntermediate(wrappers::Matrix6d& result, const base::Matrix6d& cppVal);
+// Direct conversions for wrappers (fully manually coded)
+void asn1Scc_Vector2d_fromAsn1(base::Vector2d& result, const asn1SccWrappers_Vector2d& asnVal);
+void asn1Scc_Vector2d_toAsn1(asn1SccWrappers_Vector2d& result, const base::Vector2d& baseObj);
+
+void asn1Scc_Vector3d_fromAsn1(base::Vector3d& result, const asn1SccWrappers_Vector3d& asnVal);
+void asn1Scc_Vector3d_toAsn1(asn1SccWrappers_Vector3d& result, const base::Vector3d& baseObj);
+
+void asn1Scc_Vector4d_fromAsn1(base::Vector4d& result, const asn1SccWrappers_Vector4d& asnVal);
+void asn1Scc_Vector4d_toAsn1(asn1SccWrappers_Vector4d& result, const base::Vector4d& baseObj);
+
+void asn1Scc_Vector6d_fromAsn1(base::Vector6d& result, const asn1SccWrappers_Vector6d& asnVal);
+void asn1Scc_Vector6d_toAsn1(asn1SccWrappers_Vector6d& result, const base::Vector6d& baseObj);
+
+void asn1Scc_VectorXd_fromAsn1(base::VectorXd& result, const asn1SccWrappers_VectorXd& asnVal);
+void asn1Scc_VectorXd_toAsn1(asn1SccWrappers_VectorXd& result, const base::VectorXd& baseObj);
+
+void asn1Scc_Matrix2d_fromAsn1(base::Matrix2d& result, const asn1SccWrappers_Matrix2d& asnVal);
+void asn1Scc_Matrix2d_toAsn1(asn1SccWrappers_Matrix2d& result, const base::Matrix2d& baseObj);
+
+void asn1Scc_Matrix3d_fromAsn1(base::Matrix3d& result, const asn1SccWrappers_Matrix3d& asnVal);
+void asn1Scc_Matrix3d_toAsn1(asn1SccWrappers_Matrix3d& result, const base::Matrix3d& baseObj);
+
+void asn1Scc_Matrix4d_fromAsn1(base::Matrix4d& result, const asn1SccWrappers_Matrix4d& asnVal);
+void asn1Scc_Matrix4d_toAsn1(asn1SccWrappers_Matrix4d& result, const base::Matrix4d& baseObj);
+
+void asn1Scc_Matrix6d_fromAsn1(base::Matrix6d& result, const asn1SccWrappers_Matrix6d& asnVal);
+void asn1Scc_Matrix6d_toAsn1(asn1SccWrappers_Matrix6d& result, const base::Matrix6d& baseObj);
+
+void asn1Scc_MatrixXd_fromAsn1(base::MatrixXd& result, const asn1SccWrappers_MatrixXd& asnVal);
+void asn1Scc_MatrixXd_toAsn1(asn1SccWrappers_MatrixXd& result, const base::MatrixXd& baseObj);
+
+void asn1Scc_Quaterniond_fromAsn1(base::Quaterniond& result, const asn1SccWrappers_Quaterniond& asnVal);
+void asn1Scc_Quaterniond_toAsn1(asn1SccWrappers_Quaterniond& result, const base::Quaterniond& baseObj);
+
+void asn1Scc_AngleAxisd_fromAsn1(base::AngleAxisd& result, const asn1SccWrappers_AngleAxisd& asnVal);
+void asn1Scc_AngleAxisd_toAsn1(asn1SccWrappers_AngleAxisd& result, const base::AngleAxisd& baseObj);
+
#endif //OPAQUE_CONVERSION_H