ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/OniSplit/Dae/TransformCollection.cs
Revision: 1114
Committed: Wed Jan 22 14:08:57 2020 UTC (5 years, 8 months ago) by iritscen
File size: 1045 byte(s)
Log Message:
Adding OniSplit source code (v0.9.99.0). Many thanks to Neo for all his work over the years.

File Contents

# Content
1 using System.Collections.Generic;
2
3 namespace Oni.Dae
4 {
5 internal class TransformCollection : List<Transform>
6 {
7 public Matrix ToMatrix()
8 {
9 var matrix = Matrix.Identity;
10
11 foreach (var transform in Utils.Reverse(this))
12 matrix *= transform.ToMatrix();
13
14 return matrix;
15 }
16
17 public TransformScale Scale(string sid, Vector3 scale)
18 {
19 var transform = new TransformScale(sid, scale);
20 Add(transform);
21 return transform;
22 }
23
24 public TransformRotate Rotate(string sid, Vector3 axis, float angle)
25 {
26 var transform = new TransformRotate(sid, axis, angle);
27 Add(transform);
28 return transform;
29 }
30
31 public TransformTranslate Translate(string sid, Vector3 translate)
32 {
33 var transform = new TransformTranslate(sid, translate);
34 Add(transform);
35 return transform;
36 }
37 }
38 }