소스 검색

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;