public void CopySplinatedObject(ref SplinatedMeshMaker tSMM)
    {
        SplinatedMeshMaker SMM = tSMM.Copy();

        SplinatedObjects.Add(SMM);
        SetupSplinatedMeshes();
    }
Exemple #2
0
 private void InitObjs()
 {
     string[] tNames = null;
     string[] tPaths = null;
     //Load user custom ones first:
     if (tWindowType == WindowTypeEnum.Extrusion)
     {
         SplinatedMeshMaker.GetLibraryFiles(out tNames, out tPaths, false);
     }
     else
     {
         EdgeObjectMaker.GetLibraryFiles(out tNames, out tPaths, false);
     }
     LoadObjs(ref tNames, ref tPaths, false);
     //Load GSD ones last:
     if (tWindowType == WindowTypeEnum.Extrusion)
     {
         SplinatedMeshMaker.GetLibraryFiles(out tNames, out tPaths, true);
     }
     else
     {
         EdgeObjectMaker.GetLibraryFiles(out tNames, out tPaths, true);
     }
     LoadObjs(ref tNames, ref tPaths, true);
 }
    public void SplinatedObjectQuickAdd(string tName)
    {
        SplinatedMeshMaker SMM = AddSplinatedObject();

        SMM.LoadFromLibrary(tName, true);
        SMM.SetDefaultTimes(bIsEndPoint, tTime, NextTime, idOnSpline, GSDSpline.distance);
        SMM.Setup(true);
    }
    public void SetupSplinatedMesh(int i, bool bGetStrings = false)
    {
        if (SplinatedObjects == null)
        {
            SplinatedObjects = new List <SplinatedMeshMaker>();
        }
        int eCount = SplinatedObjects.Count;

        if (i > -1 && i < eCount)
        {
            SplinatedMeshMaker SMM = SplinatedObjects[i];
            SMM.Setup(bGetStrings);
        }
    }
    public SplinatedMeshMaker AddSplinatedObject()
    {
        if (SplinatedObjects == null)
        {
            SplinatedObjects = new List <SplinatedMeshMaker>();
        }
        SplinatedMeshMaker SMM = new SplinatedMeshMaker();

        SMM.Init(GSDSpline, this, transform);
        SplinatedObjects.Add(SMM);
        SMM.SetDefaultTimes(bIsEndPoint, tTime, NextTime, idOnSpline, GSDSpline.distance);
        SMM.StartPos = GSDSpline.GetSplineValue(SMM.StartTime);
        SMM.EndPos   = GSDSpline.GetSplineValue(SMM.EndTime);
        return(SMM);
    }
    public void SetupSplinatedMeshes(bool bCollect = true)
    {
        if (SplinatedObjects == null)
        {
            SplinatedObjects = new List <SplinatedMeshMaker>();
        }
        int eCount             = SplinatedObjects.Count;
        SplinatedMeshMaker SMM = null;

        for (int i = 0; i < eCount; i++)
        {
            SMM = SplinatedObjects[i];
            SMM.Setup(true, bCollect);
        }
    }
    public void SplinatedObjectLoadFromLibrary(int i, string tName)
    {
        if (SplinatedObjects == null)
        {
            SplinatedObjects = new List <SplinatedMeshMaker>();
        }
        int eCount = SplinatedObjects.Count;

        if (i > -1 && i < eCount)
        {
            SplinatedMeshMaker SMM = SplinatedObjects[i];
            SMM.SetDefaultTimes(bIsEndPoint, tTime, NextTime, idOnSpline, GSDSpline.distance);
            SMM.LoadFromLibrary(tName);
            SMM.Setup(true);
        }
    }
    public int SplinatedMeshGetIndex(ref string UID)
    {
        if (SplinatedObjects == null)
        {
            SplinatedObjects = new List <SplinatedMeshMaker>();
        }
        int eCount             = SplinatedObjects.Count;
        SplinatedMeshMaker SMM = null;

        for (int i = 0; i < eCount; i++)
        {
            SMM = SplinatedObjects[i];
            if (string.CompareOrdinal(SMM.UID, UID) == 0)
            {
                return(i);
            }
        }
        return(-1);
    }
    public void RemoveSplinatedObject(int tIndex = -1, bool bSkipUpdate = false)
    {
        if (SplinatedObjects == null)
        {
            return;
        }
        if (SplinatedObjects.Count == 0)
        {
            return;
        }
        SplinatedMeshMaker SMM = null;

        if (tIndex < 0)
        {
            if (SplinatedObjects.Count > 0)
            {
                SMM = SplinatedObjects[SplinatedObjects.Count - 1];
                SMM.Kill();
                SplinatedObjects.RemoveAt(SplinatedObjects.Count - 1);
                SMM = null;
            }
        }
        else
        {
            if (SplinatedObjects.Count > tIndex)
            {
                SMM = SplinatedObjects[tIndex];
                SMM.Kill();
                SplinatedObjects.RemoveAt(tIndex);
                SMM = null;
            }
        }
        if (!bSkipUpdate)
        {
            SetupSplinatedMeshes();
        }
    }