|
|
@@ -1318,9 +1318,9 @@ rotate_mat_normaxis(FLOATTYPE angle, const FLOATNAME(LVecBase3) &axis,
|
|
|
INLINE_LINMATH FLOATNAME(LMatrix4) FLOATNAME(LMatrix4)::
|
|
|
scale_mat(const FLOATNAME(LVecBase3) &scale) {
|
|
|
return FLOATNAME(LMatrix4)(scale._v.v._0, 0.0f, 0.0f, 0.0f,
|
|
|
- 0.0f, scale._v.v._1, 0.0f, 0.0f,
|
|
|
- 0.0f, 0.0f, scale._v.v._2, 0.0f,
|
|
|
- 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
+ 0.0f, scale._v.v._1, 0.0f, 0.0f,
|
|
|
+ 0.0f, 0.0f, scale._v.v._2, 0.0f,
|
|
|
+ 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1332,11 +1332,10 @@ scale_mat(const FLOATNAME(LVecBase3) &scale) {
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
INLINE_LINMATH FLOATNAME(LMatrix4) FLOATNAME(LMatrix4)::
|
|
|
scale_mat(FLOATTYPE sx, FLOATTYPE sy, FLOATTYPE sz) {
|
|
|
- return FLOATNAME(LMatrix4)(
|
|
|
- sx, 0.0f, 0.0f, 0.0f,
|
|
|
- 0.0f, sy, 0.0f, 0.0f,
|
|
|
- 0.0f, 0.0f, sz, 0.0f,
|
|
|
- 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
+ return FLOATNAME(LMatrix4)(sx, 0.0f, 0.0f, 0.0f,
|
|
|
+ 0.0f, sy, 0.0f, 0.0f,
|
|
|
+ 0.0f, 0.0f, sz, 0.0f,
|
|
|
+ 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
@@ -1347,11 +1346,38 @@ scale_mat(FLOATTYPE sx, FLOATTYPE sy, FLOATTYPE sz) {
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
INLINE_LINMATH FLOATNAME(LMatrix4) FLOATNAME(LMatrix4)::
|
|
|
scale_mat(FLOATTYPE scale) {
|
|
|
- return FLOATNAME(LMatrix4)(
|
|
|
- scale, 0.0f, 0.0f, 0.0f,
|
|
|
- 0.0f, scale, 0.0f, 0.0f,
|
|
|
- 0.0f, 0.0f, scale, 0.0f,
|
|
|
- 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
+ return FLOATNAME(LMatrix4)(scale, 0.0f, 0.0f, 0.0f,
|
|
|
+ 0.0f, scale, 0.0f, 0.0f,
|
|
|
+ 0.0f, 0.0f, scale, 0.0f,
|
|
|
+ 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
+}
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////
|
|
|
+// Function: LMatrix::shear_mat
|
|
|
+// Access: Public, Static
|
|
|
+// Description: Returns a matrix that applies the indicated
|
|
|
+// shear in each of the three planes.
|
|
|
+////////////////////////////////////////////////////////////////////
|
|
|
+INLINE_LINMATH FLOATNAME(LMatrix4) FLOATNAME(LMatrix4)::
|
|
|
+shear_mat(const FLOATNAME(LVecBase3) &shear) {
|
|
|
+ return FLOATNAME(LMatrix4)(1.0f, 0.0f, 0.0f, 0.0f,
|
|
|
+ shear._v.v._0, 1.0f, 0.0f, 0.0f,
|
|
|
+ shear._v.v._1, shear._v.v._2, 1.0f, 0.0f,
|
|
|
+ 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
+}
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////
|
|
|
+// Function: LMatrix::shear_mat
|
|
|
+// Access: Public, Static
|
|
|
+// Description: Returns a matrix that applies the indicated
|
|
|
+// shear in each of the three planes.
|
|
|
+////////////////////////////////////////////////////////////////////
|
|
|
+INLINE_LINMATH FLOATNAME(LMatrix4) FLOATNAME(LMatrix4)::
|
|
|
+shear_mat(FLOATTYPE shxy, FLOATTYPE shxz, FLOATTYPE shyz) {
|
|
|
+ return FLOATNAME(LMatrix4)(1.0f, 0.0f, 0.0f, 0.0f,
|
|
|
+ shxy, 1.0f, 0.0f, 0.0f,
|
|
|
+ shxz, shyz, 1.0f, 0.0f,
|
|
|
+ 0.0f, 0.0f, 0.0f, 1.0f);
|
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|