public void Evaluate(int SpreadMax)
        {
            this.FType.SliceCount         = SpreadMax;
            this.FAABBMin.SliceCount      = SpreadMax;
            this.FAABBMax.SliceCount      = SpreadMax;
            this.FCustom.SliceCount       = SpreadMax;
            this.FHasCustomObj.SliceCount = SpreadMax;
            this.FCustomObj.SliceCount    = SpreadMax;
            this.FScaling.SliceCount      = SpreadMax;

            for (int i = 0; i < SpreadMax; i++)
            {
                CollisionShape shape = FShapes[i];

                ShapeCustomData sc = (ShapeCustomData)shape.UserObject;

                Vector3 min;
                Vector3 max;
                shape.GetAabb(Matrix.Identity, out min, out max);

                this.FAABBMin[i] = min.ToVVVVector();
                this.FAABBMax[i] = max.ToVVVVector();
                this.FScaling[i] = shape.LocalScaling.ToVVVVector();

                FType[i]        = shape.ShapeType;
                this.FCustom[i] = sc.CustomString;
                if (sc.CustomObject != null)
                {
                    this.FHasCustomObj[i] = true;
                    this.FCustomObj[i]    = sc.CustomObject;
                }
                else
                {
                    this.FHasCustomObj[i] = false;
                    this.FCustomObj[i]    = null;
                }
            }
        }
Beispiel #2
0
 public void GetAabb(out Vector3 aabbMin, out Vector3 aabbMax)
 {
     CollisionShape.GetAabb(WorldTransform, out aabbMin, out aabbMax);
 }