Exemple #1
0
 public void GetLabels()
 {
     for (int i = 0; i < HotVectors.Length; i++)
     {
         if (TModule.SampleFrame[i] < 1 || TModule.SampleFrame[i] > TModule.Data.GetTotalFrames())
         {
             ActionModule module = (ActionModule)TModule.Data.GetModule(Module.ID.Action);
             HotVectors[i]      = String.Empty;
             FloatHotVectors[i] = new float[module.Actions.Length];
             for (int j = 0; j < module.Actions.Length - 1; j++)
             {
                 HotVectors[i]        += "0 ";
                 FloatHotVectors[i][j] = 0.0f;
             }
             HotVectors[i] += "0";
             FloatHotVectors[i][module.Actions.Length - 1] = 0.0f;
         }
         else
         {
             ActionModule module = (ActionModule)TModule.Data.GetModule(Module.ID.Action);
             HotVectors[i]      = module.GetHotVector(TModule.SampleFrame[i] - 1);
             FloatHotVectors[i] = module.GetHotVectorArray(TModule.SampleFrame[i] - 1);
         }
     }
 }
    public string[] GenerateLines(MotionData data)
    {
        string[] result = new string[data.Frames.Length - 60];

        for (int i = 30; i < data.Frames.Length - 30; i++)
        {
            if (data.Modules != null)
            {
                for (int k = 0; k < data.Modules.Length; k++)
                {
                    switch (data.Modules[k].GetID())
                    {
                    case Module.ID.Velocity:
                    {
                        VelocityModule module = (VelocityModule)data.GetModule(Module.ID.Velocity);
                        module.GetTransformations(data.GetFrame(i));
                        module.GetVelocities(data.GetFrame(i), 1.0f);
                        for (int j = 0; j < data.Root.Bones.Length; j++)
                        {
                            if (module.Selected[j])
                            {
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetPosition().x.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetPosition().y.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetPosition().z.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetForward().x.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetForward().y.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetForward().z.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetUp().x.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetUp().y.ToString() + " ";
                                result[i - 30] += data.Frames[i].GetBoneTransformation(j, data.Mirrored).GetUp().z.ToString() + " ";
                                result[i - 30] += module.Velocities[j].x.ToString() + " ";
                                result[i - 30] += module.Velocities[j].y.ToString() + " ";
                                result[i - 30] += module.Velocities[j].z.ToString() + " ";
                            }
                        }
                        break;
                    }

                    case Module.ID.Action:
                    {
                        ActionModule module = (ActionModule)data.GetModule(Module.ID.Action);
                        result[i - 30] += module.GetHotVector(i) + " ";

                        break;
                    }

                    case Module.ID.Phase:
                    {
                        PhaseModule module = (PhaseModule)data.GetModule(Module.ID.Phase);
                        result[i - 30] += module.Phases[1].LocalPhase.Phase[i] + " ";
                        result[i - 30] += module.Phases[2].LocalPhase.Phase[i] + " ";
                        break;
                    }

                    case Module.ID.Trajectory:
                    {
                        TrajectoryModule module = (TrajectoryModule)data.GetModule(Module.ID.Trajectory);
                        for (int j = 0; j < module.Pivots.Length; j++)
                        {
                            for (int p = 0; p < module.Pivots[j].Transformations.Length; p++)
                            {
                                result[i - 30] += module.Pivots[j].Transformations[p].GetPosition().x.ToString() + " ";
                                result[i - 30] += module.Pivots[j].Transformations[p].GetPosition().y.ToString() + " ";
                                result[i - 30] += module.Pivots[j].Transformations[p].GetPosition().z.ToString() + " ";
                                result[i - 30] += module.Pivots[j].Velocities[p].x.ToString() + " ";
                                result[i - 30] += module.Pivots[j].Velocities[p].y.ToString() + " ";
                                result[i - 30] += module.Pivots[j].Velocities[p].z.ToString() + " ";
                                result[i - 30] += module.Pivots[j].HotVectors[p] + " ";
                                result[i - 30] += module.Pivots[j].Phases[p].ToString() + " ";
                            }
                        }
                        break;
                    }
                    }
                }
            }
        }

        return(result);
    }