Exemplo n.º 1
0
        void Update()
        {
            if (!m_baking || m_TrsArr == null || m_TrsArr.Length == 0)
            {
                return;
            }

            double t = EditorApplication.timeSinceStartup;

            if (t - _lastCheckTime > ELAPSE)
            {
                _lastCheckTime = t;
                foreach (var xfdata in m_Trs)
                {
                    if (xfdata.HasDiff())
                    {
                        XformData tmpData = XformData.Create(xfdata.tr);
                        xfdata.Apply();
                        Undo.RecordObject(xfdata.tr, "baking");
                        tmpData.Apply(xfdata.tr);
                        xfdata.CopyFrom(); //update saved data
                    }
                }
            }
        }
Exemplo n.º 2
0
        private static void HandleSEWithoutAlias(Models.XformTransformationDetail transformationStepdetail, List <Models.SchemaColumnDetail> xformRawDbColumns, List <Models.SchemaColumnDetail> xformInterimDbColumns, Models.CSVBuilderTransformationListXML csvStrategyList)
        {
            var convertibleCSVStrategyList = csvStrategyList.MetaDataToStrategyList.Where(x => x.ExpressionButtonHeader.Equals("...")).ToList();

            List <string> columnadded = new List <string>();

            int nullcount    = 0;
            int correctCount = 0;
            var xformData    = new XformData();

            log.Info(" ");
            log.Info(" ");
            log.Info("----------------------------------------");
            log.Info("Handling of Simple Expression Starting");
            synth.Speak("Handling of Simple Expression Starting");

            foreach (var item in convertibleCSVStrategyList)
            {
                var csvrawdbColumn       = GetRequiredFieldName(item.Field.Name);
                var csvInterimColumnName = GetRequiredFieldName(item.Alias ?? item.Field.Name);

                var xformRawDBName = xformRawDbColumns.FirstOrDefault(x => x.ColumnName.Equals(csvrawdbColumn, StringComparison.InvariantCultureIgnoreCase));

                var xformInterimDBName = xformInterimDbColumns.FirstOrDefault(x => x.ColumnName.Equals(csvInterimColumnName, StringComparison.InvariantCultureIgnoreCase));
                if (xformRawDBName == null || xformInterimDBName == null)
                {
                    nullcount = nullcount + 1;
                }
                if (xformRawDBName != null && xformInterimDBName != null && !columnadded.Contains(xformInterimDBName.ColumnName))
                {
                    string expressionText = MakeExpressionText(xformRawDBName, xformInterimDBName);
                    int    xformMappingId = xformData.InsertInXformMappingTable(transformationStepdetail, expressionText);

                    int outputofRawColumn = xformData.InsertinXformMappingFieldTable(xformMappingId, xformRawDBName.Id, 1);
                    if (outputofRawColumn != 0)
                    {
                        Console.WriteLine(string.Format("Value inserted for RawColumn {0}", xformRawDBName.ColumnName));
                        log.InfoFormat("RawColumn: {0}", xformRawDBName.ColumnName);
                    }
                    int outputofintermColumn = xformData.InsertinXformMappingFieldTable(xformMappingId, xformInterimDBName.Id, 1);
                    if (outputofintermColumn != 0)
                    {
                        Console.WriteLine(string.Format("Value inserted for Interim {0}", xformInterimDBName.ColumnName));
                        log.InfoFormat("InterimColumn: {0}", xformInterimDBName.ColumnName);
                    }
                    correctCount = correctCount + 1;
                    columnadded.Add(xformInterimDBName.ColumnName);
                }
            }

            log.Info("Handling of Simple Expression Ending");
            log.Info("----------------------------------------");

            Console.WriteLine("Null Count={0}, Correct Count={1}", nullcount, correctCount);
            synth.Speak("Handling of Simple Expression Ending");
            columnadded = null;
        }
    /// <summary>
    /// record recursively
    /// </summary>
    private void _PrepareBlend(Transform extTr, List <BlendData> blendDatas)
    {
        BlendData newData = new BlendData();

        newData.m_Tr          = extTr;
        newData.m_StartTrData = XformData.Create(extTr);
        blendDatas.Add(newData);

        for (int idx = 0; idx < extTr.childCount; ++idx)
        {
            Transform tr = extTr.GetChild(idx);
            _PrepareBlend(tr, blendDatas);
        }
    }
Exemplo n.º 4
0
 private static void TransformAssignImpl(UnityEngine.Transform trans, ref XformData data)
 {
     if (data.flags.updatedPosition)
     {
         trans.localPosition = data.position;
     }
     if (data.flags.updatedRotation)
     {
         trans.localRotation = data.rotation;
     }
     if (data.flags.updatedScale)
     {
         trans.localScale = data.scale;
     }
 }
    /// <summary>
    /// execute blend-in
    /// </summary>
    private static void _ExecuteBlendIn(CutsceneController cc)
    {
        if (cc.m_ReplRecord.Count == 0)
        {
            return;
        }

        float curAnimTime = cc.m_AnimState.time;

        if (curAnimTime > cc.m_BlendInTime)
        {
            return;
        }

        float t = curAnimTime / cc.m_BlendInTime;

        for (var ie = cc.m_ReplRecord.GetEnumerator(); ie.MoveNext();)
        {
            ReplData  rData = ie.Current.Value;
            Transform extTr = ie.Current.Key.transform;
            for (int idx = 0; idx < rData.m_ExtGOBlendData.Count; ++idx)
            {
                BlendData bdata = rData.m_ExtGOBlendData[idx];
                if (bdata.m_Tr == extTr)
                {
                    XformData origBasedOnCC = rData.m_ExtGOTrDataBasedOnCC;
                    extTr.localPosition = Vector3.Lerp(origBasedOnCC.pos, extTr.localPosition, t);
                    extTr.localRotation = Quaternion.Slerp(origBasedOnCC.rot, extTr.localRotation, t);
                    extTr.localScale    = Vector3.Lerp(origBasedOnCC.scale, extTr.localScale, t);
                }
                else
                {
                    bdata.DoBlend(t);
                }
            }
        }
    }
Exemplo n.º 6
0
 [DllImport("usdi")] public static extern Bool      usdiXformWriteSample(Xform xf, ref XformData src, double t);
Exemplo n.º 7
0
 [DllImport("usdi")] public static extern Bool      usdiXformReadSample(Xform xf, ref XformData dst, double t);
Exemplo n.º 8
0
 private static extern void usdiUniTransformAssign(UnityEngine.Transform trans, ref XformData data);
Exemplo n.º 9
0
        private static void HandleCEWithAlias(Models.XformTransformationDetail transformationStepdetail, List <Models.SchemaColumnDetail> xformRawDbColumns, List <Models.SchemaColumnDetail> xformInterimDbColumns, Models.CSVBuilderTransformationListXML csvStrategyList)
        {
            var convertibleCSVStrategyList = csvStrategyList.MetaDataToStrategyList.Where(x => x.ExpressionButtonHeader.Equals("E") && !x.Field.Expression.ToLower().Contains("portrecon.")).ToList();

            List <string> columnadded = new List <string>();

            int    nullcount      = 0;
            int    correctCount   = 0;
            string expressionText = string.Empty;
            int    xformMappingId = 0;
            bool   ifconvertible;

            var xformData = new XformData();

            log.Info("----------------------------------------");
            log.Info("Handling of Complex Expression starting");
            synth.Speak("Handling of Complex Expression Starting");


            foreach (var item in convertibleCSVStrategyList)
            {
                List <string> csvrawdbColumns      = MakeRawDbColumnFromExpression(item.Field.Expression, xformRawDbColumns);
                var           csvInterimColumnName = GetRequiredFieldName(item.Alias);
                var           xformInterimDBName   = xformInterimDbColumns.FirstOrDefault(x => x.ColumnName.Equals(csvInterimColumnName, StringComparison.InvariantCultureIgnoreCase));

                if (xformInterimDBName != null && !columnadded.Contains(xformInterimDBName.SchemaName.ToString() + xformInterimDBName.ColumnName.ToString()) && csvrawdbColumns.Count > 0)
                {
                    string rawdbexpressionText = MakeComplexExpression(item.Field.Expression, xformRawDbColumns.FirstOrDefault().SchemaName, csvrawdbColumns, xformRawDbColumns, out ifconvertible);
                    if (ifconvertible == true)
                    {
                        expressionText = MakeExpressionTextforCE(xformInterimDBName, ConvertToXformColumnsCase(rawdbexpressionText, csvrawdbColumns, xformRawDbColumns));
                        xformMappingId = xformData.InsertInXformMappingTable(transformationStepdetail, expressionText);

                        log.InfoFormat("Expression: {0}", expressionText);
                        int outputofintermColumn = xformData.InsertinXformMappingFieldTable(xformMappingId, xformInterimDBName.Id, 1);
                        if (outputofintermColumn != 0)
                        {
                            columnadded.Add(xformInterimDBName.SchemaName.ToString() + xformInterimDBName.ColumnName.ToString());

                            Console.WriteLine(string.Format("Value inserted for Interim {0}", xformInterimDBName.ColumnName));
                            log.InfoFormat("InterimColumn: {0}", xformInterimDBName.ColumnName);
                            correctCount = correctCount + 1;
                        }
                    }
                    else
                    {
                        continue;
                    }
                }

                foreach (var csvrawcolumn in csvrawdbColumns)
                {
                    var xformRawDBName = xformRawDbColumns.FirstOrDefault(x => x.ColumnName.Equals(csvrawcolumn, StringComparison.InvariantCultureIgnoreCase));
                    if (xformRawDBName == null || xformInterimDBName == null)
                    {
                        nullcount = nullcount + 1;
                    }
                    if (xformRawDBName != null && xformInterimDBName != null &&
                        !columnadded.Contains(xformInterimDBName.SchemaName.ToString() + xformInterimDBName.ColumnName.ToString() + xformRawDBName.SchemaName.ToString() + xformRawDBName.ColumnName.ToString()))
                    {
                        int outputofRawColumn = xformData.InsertinXformMappingFieldTable(xformMappingId, xformRawDBName.Id, 1);
                        if (outputofRawColumn != 0)
                        {
                            columnadded.Add(xformInterimDBName.SchemaName.ToString() + xformInterimDBName.ColumnName.ToString() + xformRawDBName.SchemaName.ToString() + xformRawDBName.ColumnName.ToString());

                            Console.WriteLine(string.Format("Value inserted for RawColumn {0}", xformRawDBName.ColumnName));

                            log.InfoFormat("RawColumn: {0}", xformRawDBName.ColumnName);
                        }
                    }
                }
            }

            log.Info("Handling of Complex Expression Ending");
            log.Info("----------------------------------------");
            synth.Speak("Handling of Complex Expression Ending");

            Console.WriteLine("Null Count={0}, Correct Count={1}", nullcount, correctCount);
            columnadded = null;
        }