Beispiel #1
0
 //============================================================
 // <T>设置平移内容。</T>
 //============================================================
 public void TransformPosition3x4(SFloatPoint3 input, SFloatPoint4 output)
 {
     output.X = (input.X * data[0]) + (input.Y * data[4]) + (input.Z * data[8]) + data[12];
     output.Y = (input.X * data[1]) + (input.Y * data[5]) + (input.Z * data[9]) + data[13];
     output.Z = (input.X * data[2]) + (input.Y * data[6]) + (input.Z * data[10]) + data[14];
     output.W = (data[3]) + (data[7]) + (data[11]) + data[15];
     // output.align();
 }
Beispiel #2
0
 //============================================================
 // <T>反序列化数据信息。</T>
 //
 // @param p:input 输入数据流
 //============================================================
 public void UpdateAll(SFloatPoint3 pt, SFloatVector3 pd, SFloatVector3 ps)
 {
     // 读取平移信息
     tx = pt.X;
     ty = pt.Y;
     tz = pt.Z;
     // 读取旋转弧度
     rx = pd.X;
     ry = pd.Y;
     rz = pd.Z;
     // 读取缩放信息
     sx = ps.X;
     sy = ps.Y;
     sz = ps.Z;
     // 更新信息
     UpdateForce();
 }
Beispiel #3
0
 //============================================================
 public void InnerMax(SFloatPoint3 position)
 {
     X = Math.Max(X, position.X);
     Y = Math.Max(Y, position.Y);
     Z = Math.Max(Z, position.Z);
 }
Beispiel #4
0
 //============================================================
 public void Assign(SFloatPoint3 value)
 {
     X = value.X;
     Y = value.Y;
     Z = value.Z;
 }
Beispiel #5
0
 //============================================================
 // <T>设置平移内容。</T>
 //============================================================
 public void Transform3x3Point3(SFloatPoint3 output, SFloatPoint3 input)
 {
     output.X = (input.X * data[0]) + (input.Y * data[4]) + (input.Z * data[8]);
     output.Y = (input.X * data[1]) + (input.Y * data[5]) + (input.Z * data[9]);
     output.Z = (input.X * data[2]) + (input.Y * data[6]) + (input.Z * data[10]);
 }
Beispiel #6
0
 //============================================================
 public void Sub(SFloatPoint3 point)
 {
     X -= point.X;
     Y -= point.Y;
     Z -= point.Z;
 }
Beispiel #7
0
 //============================================================
 public void Add(SFloatPoint3 point)
 {
     X += point.X;
     Y += point.Y;
     Z += point.Z;
 }