浏览代码

fix misalignment in vector2 [] operator.

Kim Kulling 7 年之前
父节点
当前提交
151d71bc69
共有 2 个文件被更改,包括 9 次插入2 次删除
  1. 9 1
      include/assimp/vector2.inl
  2. 0 1
      include/assimp/vector3.inl

+ 9 - 1
include/assimp/vector2.inl

@@ -114,7 +114,15 @@ const aiVector2t<TReal>& aiVector2t<TReal>::operator /= (TReal f) {
 // ------------------------------------------------------------------------------------------------
 template <typename TReal>
 TReal aiVector2t<TReal>::operator[](unsigned int i) const {
-    return *(&x + i);
+	switch (i) {
+		case 0:
+			return x;
+		case 1:
+			return y;
+		default:
+			break;
+    }
+    return x;
 }
 
 // ------------------------------------------------------------------------------------------------

+ 0 - 1
include/assimp/vector3.inl

@@ -142,7 +142,6 @@ AI_FORCE_INLINE aiVector3t<TReal>& aiVector3t<TReal>::operator *= (const aiMatri
 // ------------------------------------------------------------------------------------------------
 template <typename TReal>
 AI_FORCE_INLINE TReal aiVector3t<TReal>::operator[](unsigned int i) const {
-//    return *(&x + i);
     switch (i) {
         case 0:
             return x;