コード例 #1
0
ファイル: UsdcPath.cs プロジェクト: UkooLabs/UsdzSharpie
        public UsdcPath AppendProperty(string elem)
        {
            var path = new UsdcPath(this);

            if (string.IsNullOrEmpty(elem))
            {
                path.valid = false;
                return(path);
            }

            if (elem[0] == '{')
            {
                // variant chars are not supported
                path.valid = false;
                return(path);
            }
            else if (elem[0] == '[')
            {
                // relational attrib are not supported
                path.valid = false;
                return(path);
            }
            else if (elem[0] == '.')
            {
                //std::cerr << "???. elem[0] is '.'\n";
                // For a while, make this valid.
                path.valid = false;
                return(path);
            }
            else
            {
                path.prop_part = elem;
                return(path);
            }
        }
コード例 #2
0
ファイル: UsdcPath.cs プロジェクト: UkooLabs/UsdzSharpie
 public UsdcPath(UsdcPath path)
 {
     prim_part  = path.prim_part;
     prop_part  = path.prop_part;
     local_part = path.local_part;
     valid      = path.valid;
 }
コード例 #3
0
ファイル: UsdcPath.cs プロジェクト: UkooLabs/UsdzSharpie
        public UsdcPath AppendElement(string elem)
        {
            var path = new UsdcPath(this);

            if (string.IsNullOrEmpty(elem))
            {
                path.valid = false;
                return(path);
            }

            if (elem[0] == '{')
            {
                // variant chars are not supported
                path.valid = false;
                return(path);
            }
            else if (elem[0] == '[')
            {
                // relational attrib are not supported
                path.valid = false;
                return(path);
            }
            else if (elem[0] == '.')
            {
                //std::cerr << "???. elem[0] is '.'\n";
                // For a while, make this valid.
                path.valid = false;
                return(path);
            }
            else
            {
                //std::cout << "elem " << elem << "\n";
                if ((path.prim_part.Length == 1) && (path.prim_part[0] == '/'))
                {
                    path.prim_part += elem;
                }
                else
                {
                    path.prim_part += '/' + elem;
                }

                return(path);
            }
        }
コード例 #4
0
ファイル: UsdcPath.cs プロジェクト: UkooLabs/UsdzSharpie
 public void SetLocalPath(UsdcPath path)
 {
     local_part = path.local_part;
     valid      = path.valid;
 }
コード例 #5
0
ファイル: UsdcNode.cs プロジェクト: UkooLabs/UsdzSharpie
 public UsdcNode(long parent, UsdcPath path)
 {
     _parent = parent;
     _path   = path;
 }