@@ -68,39 +68,35 @@ class Vector3 : public ::Vector3 {
6868 return Vector3Negate (*this );
6969 }
7070
71- Vector3 Multiply (const ::Vector3& vector3) {
71+ Vector3 Multiply (const ::Vector3& vector3) const {
7272 return Vector3Multiply (*this , vector3);
7373 }
7474
75- Vector3 operator *(const ::Vector3& vector3) {
75+ Vector3 operator *(const ::Vector3& vector3) const {
7676 return Vector3Multiply (*this , vector3);
7777 }
7878
79- Vector3 Scale (const float scale) {
79+ Vector3 Scale (const float scale) const {
8080 return Vector3Scale (*this , scale);
8181 }
8282
83- Vector3 operator *(const float scale) {
83+ Vector3 operator *(const float scale) const {
8484 return Vector3Scale (*this , scale);
8585 }
8686
87- Vector3 Divide (const ::Vector3& vector3) {
87+ Vector3 Divide (const ::Vector3& vector3) const {
8888 return Vector3Divide (*this , vector3);
8989 }
9090
91- Vector3 operator /(const ::Vector3& vector3) {
91+ Vector3 operator /(const ::Vector3& vector3) const {
9292 return Vector3Divide (*this , vector3);
9393 }
9494
95- Vector3& Divide (const float div) {
96- x /= div;
97- y /= div;
98- z /= div;
99-
100- return *this ;
95+ Vector3 Divide (const float div) const {
96+ return ::Vector3{x / div, y / div, z / div};
10197 }
10298
103- Vector3 operator /(const float div) {
99+ Vector3 operator /(const float div) const {
104100 return Divide (div);
105101 }
106102
@@ -149,43 +145,43 @@ class Vector3 : public ::Vector3 {
149145 return Vector3Length (*this );
150146 }
151147
152- Vector3 Normalize () {
148+ Vector3 Normalize () const {
153149 return Vector3Normalize (*this );
154150 }
155151
156152 float DotProduct (const ::Vector3& vector3) {
157153 return Vector3DotProduct (*this , vector3);
158154 }
159155
160- float Distance (const ::Vector3& vector3) {
156+ float Distance (const ::Vector3& vector3) const {
161157 return Vector3Distance (*this , vector3);
162158 }
163159
164- Vector3 Lerp (const ::Vector3& vector3, const float amount) {
160+ Vector3 Lerp (const ::Vector3& vector3, const float amount) const {
165161 return Vector3Lerp (*this , vector3, amount);
166162 }
167163
168- Vector3 CrossProduct (const ::Vector3& vector3) {
164+ Vector3 CrossProduct (const ::Vector3& vector3) const {
169165 return Vector3CrossProduct (*this , vector3);
170166 }
171167
172- Vector3 Perpendicular () {
168+ Vector3 Perpendicular () const {
173169 return Vector3Perpendicular (*this );
174170 }
175171
176172 void OrthoNormalize (::Vector3* vector3) {
177173 Vector3OrthoNormalize (this , vector3);
178174 }
179175
180- Vector3 Transform (const ::Matrix& matrix) {
176+ Vector3 Transform (const ::Matrix& matrix) const {
181177 return Vector3Transform (*this , matrix);
182178 }
183179
184180 Vector3 RotateByQuaternion (const ::Quaternion& quaternion) {
185181 return Vector3RotateByQuaternion (*this , quaternion);
186182 }
187183
188- Vector3 Reflect (const ::Vector3& normal) {
184+ Vector3 Reflect (const ::Vector3& normal) const {
189185 return Vector3Reflect (*this , normal);
190186 }
191187
0 commit comments