Skip to content

Instantly share code, notes, and snippets.

@caron
Created May 10, 2016 00:06
Show Gist options
  • Save caron/a9c71fda4b6931a9b868bff26496db49 to your computer and use it in GitHub Desktop.
Save caron/a9c71fda4b6931a9b868bff26496db49 to your computer and use it in GitHub Desktop.
Added support for Alembic Points
{
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.6569217443466187\n }",
"uiTooltip" : "Draws all of the content of an alembic file providing several filters.",
"uiGraphPan" : "{\n \"x\" : 33.15381622314453,\n \"y\" : -371.6441650390625\n }"
},
"title" : "DrawContents",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"defaultValues" : {
"Execute" : {}
},
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"AlembicArchiveReader" : null
},
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64" : 0
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Xfo" : {
"ori" : {
"v" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"w" : 1
},
"tr" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"sc" : {
"x" : 1,
"y" : 1,
"z" : 1
}
}
},
"name" : "offset",
"execPortType" : "In",
"typeSpec" : "Xfo"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : false
},
"name" : "drawTransforms",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "transformFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Scalar" : 0.1000000014901161
},
"name" : "transformScale",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : true
},
"name" : "drawMeshes",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "meshFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Color" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
}
},
"name" : "color",
"execPortType" : "In",
"typeSpec" : "Color"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : false
},
"name" : "wireFrame",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"metadata" : {},
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : true
},
"name" : "drawPoints",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"metadata" : {},
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "pointsFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"defaultValues" : {
"DrawingHandle" : null
},
"name" : "handle",
"execPortType" : "Out",
"typeSpec" : "DrawingHandle"
}
],
"extDeps" : {},
"presetGUID" : "E506B017E026DC90D77ADDB4E9943029",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":936.9942016601563,\"y\":214.2027740478516}"
},
"name" : "EmptyDrawingHandle_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "handle"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.EmptyDrawingHandle",
"presetGUID" : "2440020BA6A1CAB1CEB690A198F99C70"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":101.0732879638672,\"y\":541.906494140625}"
},
"name" : "GetPaths_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 1
},
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":396.2569580078125,\"y\":429.6210021972656}"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":575.23388671875,\"y\":366.4447326660156}"
},
"name" : "GetTransformArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1168.080688476563,\"y\":252.4811553955078}"
},
"name" : "DrawAxesInstances_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "transforms"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawAxesInstances",
"presetGUID" : "A2DAC55CB1CE7426981A13F213257B7A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":604.423177719,\"y\":244.40707016}"
},
"name" : "XfoArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Exts.Math.Constants.XfoArray",
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":750.9521484375,\"y\":552.2747802734375}"
},
"name" : "XfoArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Exts.Math.Constants.XfoArray",
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":575.1785278320313,\"y\":542.7369995117188}",
"uiCollapsedState" : "1"
},
"name" : "XfoFromSRT_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.Math.Xfo.XfoFromSRT",
"presetGUID" : "6C1F06E7900B143FAF73D2032FF0D4A0"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":788.896981597,\"y\":388.483336329}"
},
"name" : "Mul_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":980.290609121,\"y\":402.39949441}"
},
"name" : "Mul_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":90.65264892578125,\"y\":728.3373413085938}"
},
"name" : "GetPaths_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":365.663543701,\"y\":734.887502789}"
},
"name" : "If_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":625.5359497070313,\"y\":727.0784912109375}"
},
"name" : "GetMeshArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "meshes"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetMeshArray",
"presetGUID" : "F90926A4D505E49F403AF57E3C8EE92E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":841.513525724,\"y\":773.287712455}"
},
"name" : "SplitPathArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "parents"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "children"
}
],
"executable" : "Fabric.Compounds.IO.SplitPathArray",
"presetGUID" : "0C8F7E3B2D86BB66A94115C45A823B6C"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1080.01794434,\"y\":743.757183671}"
},
"name" : "GetTransformArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1316.24365234375,\"y\":702.767333984375}"
},
"name" : "Mul_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1636.145263671875,\"y\":496.3057861328125}"
},
"name" : "DrawPolygonMeshArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "meshes"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "color"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "specular"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "specFactor"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "masters"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "indices"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "wireFrame"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "doubleSided"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawPolygonMeshArray",
"presetGUID" : "C5D3967A103CAE41AF99EA35D2D636A8"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":300.045194626,\"y\":1006.67970216}"
},
"name" : "GetPaths_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 4
},
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1108.15049875,\"y\":1133.18021834}"
},
"name" : "SplitPathArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "parents"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "children"
}
],
"executable" : "Fabric.Compounds.IO.SplitPathArray",
"presetGUID" : "0C8F7E3B2D86BB66A94115C45A823B6C"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1426.78832102,\"y\":1034.78075337}"
},
"name" : "GetTransformArray_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":2222.00433159,\"y\":771.656711578}"
},
"name" : "DrawPointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "points"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "masters"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "indices"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawPointsArray",
"presetGUID" : "08535F0F4BD0DD4B77E456F1D578BFDE"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":859.633451104,\"y\":1023.19182825}"
},
"name" : "GetPointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "points"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPointsArray",
"presetGUID" : "698DE4272B1299A9009F10218579922E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1773.65451002,\"y\":957.695408821}",
"uiCollapsedState" : "0"
},
"name" : "Mul_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":557.859182477,\"y\":1026.62981236}"
},
"name" : "If_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
}
],
"connections" : {
"archive" : [
"GetPaths_1.archive",
"GetPaths_2.archive",
"GetPaths_3.archive"
],
"time" : [
"GetTransformArray_1.time",
"GetMeshArray_1.time",
"GetPointsArray_1.time"
],
"offset" : [
"XfoArray_1.element"
],
"drawTransforms" : [
"If_1.cond"
],
"transformFilter" : [
"GetPaths_1.filterSearch"
],
"transformScale" : [
"XfoFromSRT_1.scX",
"XfoFromSRT_1.scY",
"XfoFromSRT_1.scZ"
],
"drawMeshes" : [
"If_2.cond"
],
"meshFilter" : [
"GetPaths_2.filterSearch"
],
"color" : [
"DrawPolygonMeshArray_1.color"
],
"wireFrame" : [
"DrawPolygonMeshArray_1.wireFrame"
],
"drawPoints" : [
"If_4.cond"
],
"pointsFilter" : [
"GetPaths_3.filterSearch"
],
"EmptyDrawingHandle_1.handle" : [
"DrawAxesInstances_1.this"
],
"GetPaths_1.archive" : [
"GetTransformArray_1.archive"
],
"GetPaths_1.paths" : [
"If_1.if_true"
],
"If_1.result" : [
"GetTransformArray_1.paths"
],
"GetTransformArray_1.xfos" : [
"Mul_1.rhs"
],
"DrawAxesInstances_1.this" : [
"DrawPolygonMeshArray_1.this"
],
"XfoArray_1.array" : [
"Mul_1.lhs",
"Mul_3.lhs",
"Mul_4.lhs"
],
"XfoArray_2.array" : [
"Mul_2.rhs"
],
"XfoFromSRT_1.result" : [
"XfoArray_2.element"
],
"Mul_1.result" : [
"Mul_2.lhs"
],
"Mul_2.result" : [
"DrawAxesInstances_1.transforms"
],
"GetPaths_2.archive" : [
"GetMeshArray_1.archive"
],
"GetPaths_2.paths" : [
"If_2.if_true"
],
"If_2.result" : [
"GetMeshArray_1.paths"
],
"GetMeshArray_1.archive" : [
"GetTransformArray_2.archive"
],
"GetMeshArray_1.paths" : [
"SplitPathArray_1.paths"
],
"GetMeshArray_1.time" : [
"GetTransformArray_2.time"
],
"GetMeshArray_1.meshes" : [
"DrawPolygonMeshArray_1.masters"
],
"SplitPathArray_1.parents" : [
"GetTransformArray_2.paths"
],
"GetTransformArray_2.xfos" : [
"Mul_3.rhs"
],
"Mul_3.result" : [
"DrawPolygonMeshArray_1.transforms"
],
"DrawPolygonMeshArray_1.this" : [
"DrawPointsArray_1.this"
],
"GetPaths_3.archive" : [
"GetTransformArray_3.archive",
"GetPointsArray_1.archive"
],
"GetPaths_3.paths" : [
"If_4.if_true"
],
"SplitPathArray_2.parents" : [
"GetTransformArray_3.paths"
],
"GetTransformArray_3.xfos" : [
"Mul_4.rhs"
],
"DrawPointsArray_1.this" : [
"handle"
],
"GetPointsArray_1.paths" : [
"SplitPathArray_2.paths"
],
"GetPointsArray_1.time" : [
"GetTransformArray_3.time"
],
"GetPointsArray_1.points" : [
"DrawPointsArray_1.masters"
],
"Mul_4.result" : [
"DrawPointsArray_1.transforms"
],
"If_4.result" : [
"GetPointsArray_1.paths"
]
},
"requiredPresets" : {
"User.DrawContents" : {
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.6569217443466187\n }",
"uiTooltip" : "Draws all of the content of an alembic file providing several filters.",
"uiGraphPan" : "{\n \"x\" : 33.15381622314453,\n \"y\" : -371.6441650390625\n }"
},
"title" : "DrawContents",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"defaultValues" : {
"Execute" : {}
},
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"AlembicArchiveReader" : null
},
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64" : 0
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Xfo" : {
"ori" : {
"v" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"w" : 1
},
"tr" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"sc" : {
"x" : 1,
"y" : 1,
"z" : 1
}
}
},
"name" : "offset",
"execPortType" : "In",
"typeSpec" : "Xfo"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : false
},
"name" : "drawTransforms",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "transformFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Scalar" : 0.1000000014901161
},
"name" : "transformScale",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : true
},
"name" : "drawMeshes",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "meshFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Color" : {
"r" : 1,
"g" : 1,
"b" : 1,
"a" : 1
}
},
"name" : "color",
"execPortType" : "In",
"typeSpec" : "Color"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : false
},
"name" : "wireFrame",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"metadata" : {},
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : true
},
"name" : "drawPoints",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"metadata" : {},
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "pointsFilter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"defaultValues" : {
"DrawingHandle" : null
},
"name" : "handle",
"execPortType" : "Out",
"typeSpec" : "DrawingHandle"
}
],
"extDeps" : {},
"presetGUID" : "E506B017E026DC90D77ADDB4E9943029",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":936.9942016601563,\"y\":214.2027740478516}"
},
"name" : "EmptyDrawingHandle_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "handle"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.EmptyDrawingHandle",
"presetGUID" : "2440020BA6A1CAB1CEB690A198F99C70"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":101.0732879638672,\"y\":541.906494140625}"
},
"name" : "GetPaths_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 1
},
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":396.2569580078125,\"y\":429.6210021972656}"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":575.23388671875,\"y\":366.4447326660156}"
},
"name" : "GetTransformArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1168.080688476563,\"y\":252.4811553955078}"
},
"name" : "DrawAxesInstances_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "transforms"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawAxesInstances",
"presetGUID" : "A2DAC55CB1CE7426981A13F213257B7A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":604.423177719,\"y\":244.40707016}"
},
"name" : "XfoArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Exts.Math.Constants.XfoArray",
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":750.9521484375,\"y\":552.2747802734375}"
},
"name" : "XfoArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Exts.Math.Constants.XfoArray",
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":575.1785278320313,\"y\":542.7369995117188}",
"uiCollapsedState" : "1"
},
"name" : "XfoFromSRT_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "scZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "eulerZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trX"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trY"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "trZ"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.Math.Xfo.XfoFromSRT",
"presetGUID" : "6C1F06E7900B143FAF73D2032FF0D4A0"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":788.896981597,\"y\":388.483336329}"
},
"name" : "Mul_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":980.290609121,\"y\":402.39949441}"
},
"name" : "Mul_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":90.65264892578125,\"y\":728.3373413085938}"
},
"name" : "GetPaths_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":365.663543701,\"y\":734.887502789}"
},
"name" : "If_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":625.5359497070313,\"y\":727.0784912109375}"
},
"name" : "GetMeshArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "meshes"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetMeshArray",
"presetGUID" : "F90926A4D505E49F403AF57E3C8EE92E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":841.513525724,\"y\":773.287712455}"
},
"name" : "SplitPathArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "parents"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "children"
}
],
"executable" : "Fabric.Compounds.IO.SplitPathArray",
"presetGUID" : "0C8F7E3B2D86BB66A94115C45A823B6C"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1080.01794434,\"y\":743.757183671}"
},
"name" : "GetTransformArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1316.24365234375,\"y\":702.767333984375}"
},
"name" : "Mul_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1636.145263671875,\"y\":496.3057861328125}"
},
"name" : "DrawPolygonMeshArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "meshes"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "color"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "specular"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "specFactor"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "masters"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "indices"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "wireFrame"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "doubleSided"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawPolygonMeshArray",
"presetGUID" : "C5D3967A103CAE41AF99EA35D2D636A8"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":300.045194626,\"y\":1006.67970216}"
},
"name" : "GetPaths_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 4
},
"name" : "mode"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filterSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invertSearch"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "paths"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPaths",
"presetGUID" : "FFAACB7615C208491DD9135700637B32"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1108.15049875,\"y\":1133.18021834}"
},
"name" : "SplitPathArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "parents"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "children"
}
],
"executable" : "Fabric.Compounds.IO.SplitPathArray",
"presetGUID" : "0C8F7E3B2D86BB66A94115C45A823B6C"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1426.78832102,\"y\":1034.78075337}"
},
"name" : "GetTransformArray_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "global"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "xfos"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetTransformArray",
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":2222.00433159,\"y\":771.656711578}"
},
"name" : "DrawPointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "points"
},
"name" : "name"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "masters"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "transforms"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "indices"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "dummyResult"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "instance"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.DrawPointsArray",
"presetGUID" : "08535F0F4BD0DD4B77E456F1D578BFDE"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":859.633451104,\"y\":1023.19182825}"
},
"name" : "GetPointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "archive"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "points"
}
],
"executable" : "Fabric.Compounds.IO.Alembic.GetPointsArray",
"presetGUID" : "698DE4272B1299A9009F10218579922E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1773.65451002,\"y\":957.695408821}",
"uiCollapsedState" : "0"
},
"name" : "Mul_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Mul",
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":557.859182477,\"y\":1026.62981236}"
},
"name" : "If_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
}
],
"connections" : {
"archive" : [
"GetPaths_1.archive",
"GetPaths_2.archive",
"GetPaths_3.archive"
],
"time" : [
"GetTransformArray_1.time",
"GetMeshArray_1.time",
"GetPointsArray_1.time"
],
"offset" : [
"XfoArray_1.element"
],
"drawTransforms" : [
"If_1.cond"
],
"transformFilter" : [
"GetPaths_1.filterSearch"
],
"transformScale" : [
"XfoFromSRT_1.scX",
"XfoFromSRT_1.scY",
"XfoFromSRT_1.scZ"
],
"drawMeshes" : [
"If_2.cond"
],
"meshFilter" : [
"GetPaths_2.filterSearch"
],
"color" : [
"DrawPolygonMeshArray_1.color"
],
"wireFrame" : [
"DrawPolygonMeshArray_1.wireFrame"
],
"drawPoints" : [
"If_4.cond"
],
"pointsFilter" : [
"GetPaths_3.filterSearch"
],
"EmptyDrawingHandle_1.handle" : [
"DrawAxesInstances_1.this"
],
"GetPaths_1.archive" : [
"GetTransformArray_1.archive"
],
"GetPaths_1.paths" : [
"If_1.if_true"
],
"If_1.result" : [
"GetTransformArray_1.paths"
],
"GetTransformArray_1.xfos" : [
"Mul_1.rhs"
],
"DrawAxesInstances_1.this" : [
"DrawPolygonMeshArray_1.this"
],
"XfoArray_1.array" : [
"Mul_1.lhs",
"Mul_3.lhs",
"Mul_4.lhs"
],
"XfoArray_2.array" : [
"Mul_2.rhs"
],
"XfoFromSRT_1.result" : [
"XfoArray_2.element"
],
"Mul_1.result" : [
"Mul_2.lhs"
],
"Mul_2.result" : [
"DrawAxesInstances_1.transforms"
],
"GetPaths_2.archive" : [
"GetMeshArray_1.archive"
],
"GetPaths_2.paths" : [
"If_2.if_true"
],
"If_2.result" : [
"GetMeshArray_1.paths"
],
"GetMeshArray_1.archive" : [
"GetTransformArray_2.archive"
],
"GetMeshArray_1.paths" : [
"SplitPathArray_1.paths"
],
"GetMeshArray_1.time" : [
"GetTransformArray_2.time"
],
"GetMeshArray_1.meshes" : [
"DrawPolygonMeshArray_1.masters"
],
"SplitPathArray_1.parents" : [
"GetTransformArray_2.paths"
],
"GetTransformArray_2.xfos" : [
"Mul_3.rhs"
],
"Mul_3.result" : [
"DrawPolygonMeshArray_1.transforms"
],
"DrawPolygonMeshArray_1.this" : [
"DrawPointsArray_1.this"
],
"GetPaths_3.archive" : [
"GetTransformArray_3.archive",
"GetPointsArray_1.archive"
],
"GetPaths_3.paths" : [
"If_4.if_true"
],
"SplitPathArray_2.parents" : [
"GetTransformArray_3.paths"
],
"GetTransformArray_3.xfos" : [
"Mul_4.rhs"
],
"DrawPointsArray_1.this" : [
"handle"
],
"GetPointsArray_1.paths" : [
"SplitPathArray_2.paths"
],
"GetPointsArray_1.time" : [
"GetTransformArray_3.time"
],
"GetPointsArray_1.points" : [
"DrawPointsArray_1.masters"
],
"Mul_4.result" : [
"DrawPointsArray_1.transforms"
],
"If_4.result" : [
"GetPointsArray_1.paths"
]
}
},
"Fabric.Exts.InlineDrawing.DrawingHandle.EmptyDrawingHandle" : {
"objectType" : "Graph",
"title" : "EmptyDrawingHandle",
"cacheRule" : "never",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "handle",
"execPortType" : "Out",
"typeSpec" : "DrawingHandle"
}
],
"extDeps" : {},
"presetGUID" : "2440020BA6A1CAB1CEB690A198F99C70",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\": 894, \"y\": 100}"
},
"name" : "Clear",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
}
],
"executable" : "Fabric.Exts.InlineDrawing.DrawingHandle.Clear",
"presetGUID" : "39E8D81FA7C7C4A825877F16EFE3564F",
"cacheRule" : "never"
},
{
"objectType" : "Var",
"metadata" : {
"uiGraphPos" : "{\"x\":567.0,\"y\":56.0}",
"uiCollapsedState" : "0"
},
"name" : "handleVar",
"ports" : [
{
"objectType" : "VarPort",
"nodePortType" : "IO",
"name" : "value"
}
],
"dataType" : "DrawingHandle",
"extDep" : "InlineDrawing:*"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":287.0,\"y\":56.0}"
},
"name" : "CreateDrawingHandle",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "handle"
}
],
"definition" : {
"objectType" : "Func",
"title" : "Create DrawingHandle",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "handle",
"execPortType" : "Out",
"typeSpec" : "DrawingHandle"
}
],
"extDeps" : {
"InlineDrawing" : "*"
},
"code" : "dfgEntry {
handle = DrawingHandle();
}
"
}
}
],
"connections" : {
"Clear.this" : [
"handle"
],
"handleVar.value" : [
"Clear.this"
],
"CreateDrawingHandle.handle" : [
"handleVar.value"
]
}
},
"Fabric.Exts.InlineDrawing.DrawingHandle.Clear" : {
"objectType" : "Func",
"metadata" : {
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/InlineDrawing/DrawingHandle.html",
"uiTooltip" : "removes all contents from the DrawingHandle\n\n Supported by DrawingHandle"
},
"title" : "Clear",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "DrawingHandle"
}
],
"extDeps" : {
"InlineDrawing" : "*"
},
"presetGUID" : "39E8D81FA7C7C4A825877F16EFE3564F",
"code" : "require InlineDrawing;
dfgEntry {
this.clear();
}
"
},
"Fabric.Compounds.IO.Alembic.GetPaths" : {
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.5789312720298767\n }",
"uiTooltip" : "Retrieves all paths to objects inside of an Alembic file given an archive. Connect this to an Alembic.LoadAlembic node.\nThe mode parameter can be used to switch between the types of paths retrieved.\nWith the filterSearch you can filter the results based on occurence within the paths.\nThe invertSearch checkbox allows to switch between inclusive and exclusive search.",
"uiGraphPan" : "{\n \"x\" : 27.24798583984375,\n \"y\" : 78.5137939453125\n }"
},
"title" : "GetPaths",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"metadata" : {
"uiCombo" : "(\"All\", \"Xform\", \"Camera\", \"Light\", \"Points\", \"PolyMesh\", \"SubD\", \"PolyMesh+SubD\", \"Curves\")"
},
"nodePortType" : "Out",
"defaultValues" : {
"SInt32" : 0
},
"name" : "mode",
"execPortType" : "In",
"typeSpec" : "SInt32"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String" : ""
},
"name" : "filterSearch",
"execPortType" : "In"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean" : false
},
"name" : "invertSearch",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "paths",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {},
"presetGUID" : "FFAACB7615C208491DD9135700637B32",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-240.8898620605469,\"y\":287.7222290039063}",
"uiCollapsedState" : "1"
},
"name" : "GetAllPaths_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetAllPaths",
"presetGUID" : "47AAB9C1773873F0A56AA37CD569035A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-252.5254821777344,\"y\":390.444091796875}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Xform"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1350.240478515625,\"y\":246.7166900634766}",
"uiCollapsedState" : "1"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-247.5254821777344,\"y\":493.6261596679688}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Camera"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-255.4347991943359,\"y\":606.4443969726563}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Light"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-259.4415588378906,\"y\":719.4977416992188}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Points"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-590.812744140625,\"y\":292.0545043945313}",
"uiCollapsedState" : "1"
},
"name" : "SInt32_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Constants.SInt32",
"presetGUID" : "3B399E2A9D927FE64279F7D3AE5760E4"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-439.1953125,\"y\":193.1627502441406}",
"uiCollapsedState" : "1"
},
"name" : "Eq_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1159.441772460938,\"y\":328.7836608886719}",
"uiCollapsedState" : "1"
},
"name" : "If_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":996.1599731445313,\"y\":466.7763366699219}",
"uiCollapsedState" : "1"
},
"name" : "If_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":850.590087890625,\"y\":608.3350830078125}",
"uiCollapsedState" : "1"
},
"name" : "If_5",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-247.466796875,\"y\":835.5028686523438}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_5",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "PolyMesh"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":455.2842407226563,\"y\":821.345703125}",
"uiCollapsedState" : "1"
},
"name" : "If_6",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-252.7528076171875,\"y\":950.2965698242188}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_6",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "SubD"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":299.6260070800781,\"y\":916.4423217773438}",
"uiCollapsedState" : "1"
},
"name" : "If_7",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-255.9301147460938,\"y\":1062.730224609375}",
"uiCollapsedState" : "1"
},
"name" : "GetPathsOfType_7",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Curves"
},
"name" : "objType"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType",
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":161.9083404541016,\"y\":990.9426879882813}",
"uiCollapsedState" : "1"
},
"name" : "If_8",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-30.45687866210938,\"y\":933.948486328125}",
"uiCollapsedState" : "1"
},
"name" : "Add_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Math.Add",
"presetGUID" : "8146B3E77857E24CAE33F8B5284585E7"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-440.1286010742188,\"y\":310.0583801269531}",
"uiCollapsedState" : "1"
},
"name" : "Eq_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 1
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-464.8861999511719,\"y\":756.30908203125}",
"uiCollapsedState" : "1"
},
"name" : "Eq_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 5
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-472.1833190917969,\"y\":866.5421142578125}",
"uiCollapsedState" : "1"
},
"name" : "Eq_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 6
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-475.1209106445313,\"y\":987.7868041992188}",
"uiCollapsedState" : "1"
},
"name" : "Eq_5",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 7
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-448.315185546875,\"y\":422.4137878417969}",
"uiCollapsedState" : "1"
},
"name" : "Eq_6",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 2
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-453.8850708007813,\"y\":517.100830078125}",
"uiCollapsedState" : "1"
},
"name" : "Eq_7",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 3
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1726.123657226563,\"y\":392.4403076171875}",
"uiCollapsedState" : "0"
},
"name" : "FilterPaths",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "paths"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "filter"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "invert"
}
],
"definition" : {
"objectType" : "Func",
"title" : "FilterPaths",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "paths",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "filter",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "invert",
"execPortType" : "In",
"typeSpec" : "Boolean"
}
],
"extDeps" : {
"Util" : "*"
},
"code" : "require Util;
dfgEntry {
if(filter.length() == 0) {
result = paths;
return;
}
for(Size i=0;i<paths.size();i++) {
if((paths[i].find(filter) == -1) != invert)
continue;
result.push(paths[i]);
}
}
"
}
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":2147.66455078125,\"y\":425.9618530273438}",
"uiCollapsedState" : "1"
},
"name" : "Clone_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "clonedValue"
}
],
"executable" : "Fabric.Core.Data.Clone",
"presetGUID" : "30401D7851DEFCFA5C46EB3926DD8BAD"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1956.27685546875,\"y\":433.3701782226563}",
"uiCollapsedState" : "1"
},
"name" : "Cache_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-456.9867858886719,\"y\":639.7283325195313}",
"uiCollapsedState" : "1"
},
"name" : "Eq_8",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"SInt32" : 4
},
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Eq",
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":652.3154296875,\"y\":722.4596557617188}",
"uiCollapsedState" : "1"
},
"name" : "If_9",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":2435.09326171875,\"y\":297.9390869140625}",
"uiCollapsedState" : "0"
},
"name" : "If_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1331.33642578125,\"y\":66.47798919677734}"
},
"name" : "IsNull_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "obj"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Object.IsNull",
"presetGUID" : "84AEE2708BDEAAFDEBA207A1733A052F"
}
],
"connections" : {
"archive" : [
"GetAllPaths_1.this",
"GetPathsOfType_1.this",
"GetPathsOfType_2.this",
"GetPathsOfType_3.this",
"GetPathsOfType_4.this",
"GetPathsOfType_6.this",
"GetPathsOfType_7.this",
"GetPathsOfType_5.this",
"IsNull_1.obj"
],
"mode" : [
"Eq_1.lhs"
],
"filterSearch" : [
"FilterPaths.filter"
],
"invertSearch" : [
"FilterPaths.invert"
],
"GetAllPaths_1.result" : [
"If_1.if_true"
],
"GetPathsOfType_1.result" : [
"If_3.if_true"
],
"If_1.result" : [
"FilterPaths.paths"
],
"GetPathsOfType_2.result" : [
"If_4.if_true"
],
"GetPathsOfType_3.result" : [
"If_5.if_true"
],
"GetPathsOfType_4.result" : [
"If_9.if_true"
],
"SInt32_1.value" : [
"Eq_1.rhs"
],
"Eq_1.lhs" : [
"Eq_2.lhs"
],
"Eq_1.result" : [
"If_1.cond"
],
"If_3.result" : [
"If_1.if_false"
],
"If_4.result" : [
"If_3.if_false"
],
"If_5.result" : [
"If_4.if_false"
],
"GetPathsOfType_5.result" : [
"Add_1.lhs"
],
"If_6.result" : [
"If_9.if_false"
],
"GetPathsOfType_6.result" : [
"Add_1.rhs"
],
"If_7.result" : [
"If_6.if_false"
],
"GetPathsOfType_7.result" : [
"If_8.if_false"
],
"If_8.result" : [
"If_7.if_false"
],
"Add_1.lhs" : [
"If_6.if_true"
],
"Add_1.rhs" : [
"If_7.if_true"
],
"Add_1.result" : [
"If_8.if_true"
],
"Eq_2.lhs" : [
"Eq_6.lhs"
],
"Eq_2.result" : [
"If_3.cond"
],
"Eq_3.lhs" : [
"Eq_4.lhs"
],
"Eq_3.result" : [
"If_6.cond"
],
"Eq_4.lhs" : [
"Eq_5.lhs"
],
"Eq_4.result" : [
"If_7.cond"
],
"Eq_5.result" : [
"If_8.cond"
],
"Eq_6.lhs" : [
"Eq_7.lhs"
],
"Eq_6.result" : [
"If_4.cond"
],
"Eq_7.lhs" : [
"Eq_8.lhs"
],
"Eq_7.result" : [
"If_5.cond"
],
"FilterPaths.result" : [
"Cache_1.value"
],
"Clone_1.clonedValue" : [
"If_2.if_false"
],
"Cache_1.value" : [
"Clone_1.value"
],
"Eq_8.lhs" : [
"Eq_3.lhs"
],
"Eq_8.result" : [
"If_9.cond"
],
"If_9.result" : [
"If_5.if_false"
],
"If_2.result" : [
"paths"
],
"IsNull_1.result" : [
"If_2.cond"
]
}
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetAllPaths" : {
"objectType" : "Func",
"metadata" : {
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/AlembicWrapper/AlembicArchiveReader.html",
"uiTooltip" : "returns the full paths of all AlembicIObject entities within the file\n\n Supported by AlembicArchiveReader"
},
"title" : "GetAllPaths",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "47AAB9C1773873F0A56AA37CD569035A",
"code" : "require AlembicWrapper;
dfgEntry {
result = this.getAllPaths();
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPathsOfType" : {
"objectType" : "Func",
"metadata" : {
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/AlembicWrapper/AlembicArchiveReader.html",
"uiTooltip" : "returns the fullpaths of all AlembicIObject entities of a given type\n\n Supported by AlembicArchiveReader"
},
"title" : "GetPathsOfType",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "objType",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "42B3C6BF609A85657F8911AFCBE861A2",
"code" : "require AlembicWrapper;
dfgEntry {
result = this.getPathsOfType(objType);
}
"
},
"Fabric.Core.Control.If" : {
"objectType" : "Func",
"title" : "If",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "cond",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "if_true",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "if_false",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "3182A478A21643455D549E483D35F831",
"code" : "
dfgEntry {
result = cond ? if_true : if_false;
}
"
},
"Fabric.Core.Constants.SInt32" : {
"objectType" : "Func",
"metadata" : {
"uiAlwaysShowDaisyChainPorts" : "true"
},
"title" : "SInt32",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "value",
"execPortType" : "In",
"typeSpec" : "SInt32"
}
],
"extDeps" : {},
"presetGUID" : "3B399E2A9D927FE64279F7D3AE5760E4",
"code" : "dfgEntry {
}
"
},
"Fabric.Core.Logic.Eq" : {
"objectType" : "Func",
"title" : "Eq ==",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Boolean"
}
],
"extDeps" : {},
"presetGUID" : "EE5CD58CD54E7460D6011FA855D8C6EB",
"code" : "
dfgEntry {
result = lhs == rhs;
}
"
},
"Fabric.Core.Math.Add" : {
"objectType" : "Func",
"title" : "Add",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "8146B3E77857E24CAE33F8B5284585E7",
"code" : "
dfgEntry {
result = lhs + rhs;
}
"
},
"Fabric.Core.Data.Clone" : {
"objectType" : "Func",
"metadata" : {
"uiNodeColor" : "{\n \"r\" : 214,\n \"g\" : 191,\n \"b\" : 103\n }",
"uiHeaderColor" : "{\n \"r\" : 188,\n \"g\" : 129,\n \"b\" : 83\n }"
},
"title" : "Clone",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "value",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "clonedValue",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "30401D7851DEFCFA5C46EB3926DD8BAD",
"code" : "dfgEntry {
clonedValue = value.clone();
}
"
},
"Fabric.Core.Data.Cache" : {
"objectType" : "Func",
"metadata" : {
"uiNodeColor" : "{\n \"r\" : 214,\n \"g\" : 191,\n \"b\" : 103\n }",
"uiAlwaysShowDaisyChainPorts" : "true",
"uiHeaderColor" : "{\n \"r\" : 188,\n \"g\" : 129,\n \"b\" : 83\n }"
},
"title" : "Cache",
"cacheRule" : "always",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "value",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60",
"code" : "dfgEntry {
}
"
},
"Fabric.Core.Object.IsNull" : {
"objectType" : "Func",
"title" : "IsNull",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "obj",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Boolean"
}
],
"extDeps" : {},
"presetGUID" : "84AEE2708BDEAAFDEBA207A1733A052F",
"code" : "
dfgEntry {
result = !obj;
}
"
},
"Fabric.Compounds.IO.Alembic.GetTransformArray" : {
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.8709444999694824\n }",
"uiTooltip" : "Provides access to an array of transforms within an alembic file given the archive and paths inside the file. If a path does not refer to an Xform object an identity Xfo is returned instead inside the result array.",
"uiGraphPan" : "{\n \"x\" : -321.9935607910156,\n \"y\" : -43.55582427978516\n }"
},
"title" : "GetTransformArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "paths",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "global",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "xfos",
"execPortType" : "Out",
"typeSpec" : "Xfo[]"
}
],
"extDeps" : {},
"presetGUID" : "3602556D4295BADE07A31BC9B7D59822",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":228.0,\"y\":48.0}"
},
"name" : "GetObjectTypeArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetObjectTypeArray",
"presetGUID" : "66A5F07E0416A62CB53A304F8740F2F4"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-70.28466796875,\"y\":153.1567993164063}"
},
"name" : "Push_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":429.4701538085938,\"y\":388.4044189453125}"
},
"name" : "Float64Array_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.Float64Array",
"presetGUID" : "347AE3FDCFAB382C7FB5B52CF8C0F20F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":471.5514831542969,\"y\":103.7424087524414}"
},
"name" : "Eq_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Eq",
"presetGUID" : "93ED995BF72FF60586DF066085823F3A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":243.3982543945313,\"y\":148.3245849609375}"
},
"name" : "StringArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Xform"
},
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.StringArray",
"presetGUID" : "4DBA9D7C797782494EF63035F9B6545B"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":650.7210083007813,\"y\":154.9695281982422}"
},
"name" : "Cache_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1445.757690429688,\"y\":329.9512939453125}"
},
"name" : "If_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":236.1503295898438,\"y\":272.98583984375}"
},
"name" : "GetXformArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetXformArray",
"presetGUID" : "C9E1F5E43C936362BFF6BA538C5B9B70"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":431.8671264648438,\"y\":302.5271911621094}"
},
"name" : "Cache_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":829.2176513671875,\"y\":419.2332763671875}"
},
"name" : "ReadSampleArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicXformReader.ReadSampleArray",
"presetGUID" : "348F9BDBE8F9D2A98D3E2BE90E1D83A4"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":605.7852783203125,\"y\":300.5272216796875}"
},
"name" : "Copy_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Func.Copy",
"presetGUID" : "C3E84342DB046C048BABD41DF1B5E3ED"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1237.782836914063,\"y\":473.3863525390625}"
},
"name" : "XfoArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Exts.Math.Constants.XfoArray",
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":274.4071655273438,\"y\":-73.99343109130859}"
},
"name" : "IsNull_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "obj"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Object.IsNull",
"presetGUID" : "84AEE2708BDEAAFDEBA207A1733A052F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1615.480834960938,\"y\":188.9395141601563}"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1114.873657226563,\"y\":354.2769775390625}"
},
"name" : "If_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":477.6351318359375,\"y\":547.1714477539063}"
},
"name" : "Push_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":806.0144653320313,\"y\":296.8681640625}"
},
"name" : "ReadSampleGlobalArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicXformReader.ReadSampleGlobalArray",
"presetGUID" : "95C692530C24A7F7C3815D928EC22541"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1834.782836914063,\"y\":234.8665161132813}"
},
"name" : "Cache_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
}
],
"connections" : {
"archive" : [
"Push_1.element",
"IsNull_1.obj"
],
"paths" : [
"GetObjectTypeArray_1.path",
"GetXformArray_1.path"
],
"time" : [
"Float64Array_1.element"
],
"global" : [
"Push_2.element"
],
"GetObjectTypeArray_1.result" : [
"Eq_2.lhs"
],
"Push_1.array" : [
"GetObjectTypeArray_1.this",
"GetXformArray_1.this"
],
"Float64Array_1.array" : [
"ReadSampleArray_1.time",
"ReadSampleGlobalArray_1.time"
],
"Eq_2.result" : [
"Cache_3.value"
],
"StringArray_1.array" : [
"Eq_2.rhs"
],
"Cache_3.value" : [
"If_2.cond"
],
"If_2.result" : [
"If_1.if_false"
],
"GetXformArray_1.result" : [
"Cache_4.value"
],
"Cache_4.value" : [
"Copy_2.value"
],
"ReadSampleArray_1.result" : [
"If_3.if_false"
],
"Copy_2.result" : [
"ReadSampleArray_1.this",
"ReadSampleGlobalArray_1.this"
],
"XfoArray_1.array" : [
"If_2.if_false"
],
"IsNull_1.result" : [
"If_1.cond"
],
"If_1.result" : [
"Cache_1.value"
],
"If_3.result" : [
"If_2.if_true"
],
"Push_2.array" : [
"If_3.cond"
],
"ReadSampleGlobalArray_1.result" : [
"If_3.if_true"
],
"Cache_1.value" : [
"xfos"
]
}
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetObjectTypeArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "returns the type of an AlembicIObject based on its path in the file\n\nSupported types:\n this: AlembicArchiveReader\n path: String\n result: String\n"
},
"title" : "GetObjectType[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "path",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "66A5F07E0416A62CB53A304F8740F2F4",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicArchiveReader_getObjectType_task<<<index>>>(
io String[] result
, io AlembicArchiveReader[] this
, in String[] path
) {
result[index] = this[index < this.size() ? index : this.size() - 1].getObjectType(path[index < path.size() ? index : path.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( path.size() == 0) return;
Size task_size = this.size();
if(task_size < path.size()) task_size = path.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicArchiveReader_getObjectType_task(index, result, this, path);
}
} else {
AlembicWrapper_AlembicArchiveReader_getObjectType_task<<<task_size>>>(result, this, path);
}
}
"
},
"Fabric.Core.Array.Push" : {
"objectType" : "Func",
"title" : "Push[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "array",
"execPortType" : "IO",
"typeSpec" : "$TYPE$[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "element",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "572880BF96ACC34D6987BE3333715F52",
"code" : "
dfgEntry {
array.push(element);
}
"
},
"Fabric.Core.Constants.Float64Array" : {
"objectType" : "Func",
"title" : "Float64[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "element",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"SInt32" : 1
},
"name" : "count",
"execPortType" : "In",
"typeSpec" : "SInt32"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "array",
"execPortType" : "Out",
"typeSpec" : "Float64[]"
}
],
"extDeps" : {},
"presetGUID" : "347AE3FDCFAB382C7FB5B52CF8C0F20F",
"code" : "
dfgEntry {
array.resize(count);
for(Size i=0;i<count;i++)
array[i] = element;
}
"
},
"Fabric.Core.Array.Eq" : {
"objectType" : "Func",
"title" : "Eq[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Boolean[]"
}
],
"extDeps" : {},
"presetGUID" : "93ED995BF72FF60586DF066085823F3A",
"code" : "
operator core_array_eq_task<<<index>>>($TYPE$ lhs, $TYPE$ rhs, io Boolean[] result) {
result[index] = lhs[index < lhs.size() ? index : lhs.size() - 1] == rhs[index < rhs.size() ? index : rhs.size() - 1];
}
dfgEntry {
if(lhs.size() == 0) return;
if(rhs.size() == 0) return;
Size size = lhs.size() > rhs.size() ? lhs.size() : rhs.size();
result.resize(size);
if(size < 10000)
{
for(Size i=0;i<size;i++)
core_array_eq_task(i, lhs, rhs, result);
}
else
{
core_array_eq_task<<<size>>>(lhs, rhs, result);
}
}
"
},
"Fabric.Core.Constants.StringArray" : {
"objectType" : "Func",
"title" : "String[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "element",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"SInt32" : 1
},
"name" : "count",
"execPortType" : "In",
"typeSpec" : "SInt32"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "array",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {},
"presetGUID" : "4DBA9D7C797782494EF63035F9B6545B",
"code" : "
dfgEntry {
array.resize(count);
for(Size i=0;i<count;i++)
array[i] = element;
}
"
},
"Fabric.Core.Array.If" : {
"objectType" : "Func",
"title" : "If[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "cond",
"execPortType" : "In",
"typeSpec" : "Boolean[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "if_true",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "if_false",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F",
"code" : "
operator core_array_if_task<<<index>>>(Boolean cond[], $TYPE$ if_true, $TYPE$ if_false, io $TYPE$ result) {
result[index] = cond[index < cond.size() ? index : cond.size() - 1] ? if_true[index < if_true.size() ? index : if_true.size() - 1] : if_false[index < if_false.size() ? index : if_false.size() - 1];
}
dfgEntry {
if(cond.size() == 0) return;
if(if_true.size() == 0) return;
if(if_false.size() == 0) return;
Size size = cond.size();
if(size < if_true.size()) size = if_true.size();
if(size < if_false.size()) size = if_false.size();
result.resize(size);
if(size < 10000)
{
for(Size i=0;i<size;i++)
core_array_if_task(i, cond, if_true, if_false, result);
}
else
{
core_array_if_task<<<size>>>(cond, if_true, if_false, result);
}
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetXformArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "returns a AlembicXformReader wrapper for the AlembicIXform object at a given path\n\nSupported types:\n this: AlembicArchiveReader\n path: String\n result: AlembicXformReader\n"
},
"title" : "GetXform[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "path",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "AlembicXformReader[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "C9E1F5E43C936362BFF6BA538C5B9B70",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicArchiveReader_getXform_task<<<index>>>(
io AlembicXformReader[] result
, io AlembicArchiveReader[] this
, in String[] path
) {
result[index] = this[index < this.size() ? index : this.size() - 1].getXform(path[index < path.size() ? index : path.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( path.size() == 0) return;
Size task_size = this.size();
if(task_size < path.size()) task_size = path.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicArchiveReader_getXform_task(index, result, this, path);
}
} else {
AlembicWrapper_AlembicArchiveReader_getXform_task<<<task_size>>>(result, this, path);
}
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicXformReader.ReadSampleArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "reads a sample at a given time. this will properly interpolate between samples.\n\nSupported types:\n this: AlembicXformReader\n time: Float64\n result: Xfo\n"
},
"title" : "ReadSample[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicXformReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64[]" : [
0
]
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Xfo[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "348F9BDBE8F9D2A98D3E2BE90E1D83A4",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicXformReader_readSample_task<<<index>>>(
io Xfo[] result
, io AlembicXformReader[] this
, in Float64[] time
) {
result[index] = this[index < this.size() ? index : this.size() - 1].readSample(time[index < time.size() ? index : time.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( time.size() == 0) return;
Size task_size = this.size();
if(task_size < time.size()) task_size = time.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicXformReader_readSample_task(index, result, this, time);
}
} else {
AlembicWrapper_AlembicXformReader_readSample_task<<<task_size>>>(result, this, time);
}
}
"
},
"Fabric.Core.Func.Copy" : {
"objectType" : "Func",
"metadata" : {
"uiNodeColor" : "{\n \"r\" : 214,\n \"g\" : 191,\n \"b\" : 103\n }",
"uiHeaderColor" : "{\n \"r\" : 188,\n \"g\" : 129,\n \"b\" : 83\n }"
},
"title" : "Copy",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "value",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "C3E84342DB046C048BABD41DF1B5E3ED",
"code" : "
dfgEntry {
result = value;
}
"
},
"Fabric.Exts.Math.Constants.XfoArray" : {
"objectType" : "Func",
"metadata" : {
"uiNodeColor" : "{\n \"r\" : 99,\n \"g\" : 129,\n \"b\" : 92\n }",
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/Math/Xfo.html"
},
"title" : "Xfo[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "Out",
"defaultValues" : {
"Xfo[]" : [
{
"ori" : {
"v" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"w" : 1
},
"tr" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"sc" : {
"x" : 1,
"y" : 1,
"z" : 1
}
}
]
},
"name" : "element",
"execPortType" : "In",
"typeSpec" : "Xfo"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"SInt32" : 1
},
"name" : "count",
"execPortType" : "In",
"typeSpec" : "SInt32"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "array",
"execPortType" : "Out",
"typeSpec" : "Xfo[]"
}
],
"extDeps" : {
"Math" : "*"
},
"presetGUID" : "A574B316321209337ABEAC56EF1FA6B9",
"code" : "dfgEntry {
array.resize(count);
for(Size i=0;i<count;i++)
array[i] = element;
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicXformReader.ReadSampleGlobalArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "reads a sample at a given time and project to global space.\nthis will properly interpolate between samples.\n\nSupported types:\n this: AlembicXformReader\n time: Float64\n result: Xfo\n"
},
"title" : "ReadSampleGlobal[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicXformReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64[]" : [
0
]
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Xfo[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "95C692530C24A7F7C3815D928EC22541",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicXformReader_readSampleGlobal_task<<<index>>>(
io Xfo[] result
, io AlembicXformReader[] this
, in Float64[] time
) {
result[index] = this[index < this.size() ? index : this.size() - 1].readSampleGlobal(time[index < time.size() ? index : time.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( time.size() == 0) return;
Size task_size = this.size();
if(task_size < time.size()) task_size = time.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicXformReader_readSampleGlobal_task(index, result, this, time);
}
} else {
AlembicWrapper_AlembicXformReader_readSampleGlobal_task<<<task_size>>>(result, this, time);
}
}
"
},
"Fabric.Exts.InlineDrawing.DrawingHandle.DrawAxesInstances" : {
"objectType" : "Func",
"metadata" : {
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/InlineDrawing/DrawingHandle.html",
"uiTooltip" : "helper function to draw axes at given transforms\n\n Supported by DrawingHandle"
},
"title" : "DrawAxesInstances",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "DrawingHandle"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "name",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "Out",
"name" : "transforms",
"execPortType" : "In",
"typeSpec" : "Xfo[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 255,\n \"g\" : 242,\n \"b\" : 0\n }"
},
"nodePortType" : "In",
"name" : "dummyResult",
"execPortType" : "Out",
"typeSpec" : "Vec3"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "instance",
"execPortType" : "Out",
"typeSpec" : "InlineInstance"
}
],
"extDeps" : {
"InlineDrawing" : "*",
"FabricInterfaces" : "*"
},
"presetGUID" : "A2DAC55CB1CE7426981A13F213257B7A",
"code" : "require InlineDrawing;
dfgEntry {
this.drawAxesInstances(name, transforms, dummyResult, instance);
}
"
},
"Fabric.Exts.Math.Xfo.XfoFromSRT" : {
"objectType" : "Func",
"metadata" : {
"uiNodeColor" : "{\n \"r\" : 99,\n \"g\" : 129,\n \"b\" : 92\n }",
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/Math/Xfo.html",
"uiTooltip" : "Constructor from single channels\n\n Supported by Xfo"
},
"title" : "XfoFromSRT",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Scalar" : 1
},
"name" : "scX",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Scalar" : 1
},
"name" : "scY",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Scalar" : 1
},
"name" : "scZ",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-3.14, 3.14)"
},
"nodePortType" : "Out",
"name" : "eulerX",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-3.14, 3.14)"
},
"nodePortType" : "Out",
"name" : "eulerY",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-3.14, 3.14)"
},
"nodePortType" : "Out",
"name" : "eulerZ",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-5.0, 5.0)"
},
"nodePortType" : "Out",
"name" : "trX",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-5.0, 5.0)"
},
"nodePortType" : "Out",
"name" : "trY",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiRange" : "(-5.0, 5.0)"
},
"nodePortType" : "Out",
"name" : "trZ",
"execPortType" : "In",
"typeSpec" : "Scalar"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Xfo"
}
],
"extDeps" : {
"Math" : "*"
},
"presetGUID" : "6C1F06E7900B143FAF73D2032FF0D4A0",
"code" : "require Math;
dfgEntry {
result = Xfo(scX, scY, scZ, eulerX, eulerY, eulerZ, trX, trY, trZ);
}
"
},
"Fabric.Core.Array.Mul" : {
"objectType" : "Func",
"title" : "Mul[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "$TYPE$"
}
],
"extDeps" : {},
"presetGUID" : "C0B53D37DF91FC2E341F4B7B848BDB6F",
"code" : "
operator core_array_mul_task<<<index>>>($TYPE$ lhs, $TYPE$ rhs, io $TYPE$ result) {
result[index] = lhs[index < lhs.size() ? index : lhs.size() - 1] * rhs[index < rhs.size() ? index : rhs.size() - 1];
}
dfgEntry {
if(lhs.size() == 0) return;
if(rhs.size() == 0) return;
Size size = lhs.size() > rhs.size() ? lhs.size() : rhs.size();
result.resize(size);
if(size < 10000)
{
for(Size i=0;i<size;i++)
core_array_mul_task(i, lhs, rhs, result);
}
else
{
core_array_mul_task<<<size>>>(lhs, rhs, result);
}
}
"
},
"Fabric.Compounds.IO.Alembic.GetMeshArray" : {
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.7558947205543518\n }",
"uiTooltip" : "Provides access to an array of PolyMesh objects within an alembic file given the archive and paths inside the file. If a path does not refer to an PolyMesh object an empty geometry is returned instead inside the result array.",
"uiGraphPan" : "{\n \"x\" : 208.2755126953125,\n \"y\" : -50.24845886230469\n }"
},
"title" : "GetMeshArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "paths",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "meshes",
"execPortType" : "Out",
"typeSpec" : "PolygonMesh[]"
}
],
"extDeps" : {},
"presetGUID" : "F90926A4D505E49F403AF57E3C8EE92E",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":428.0,\"y\":255.0}"
},
"name" : "Cache_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":574.0,\"y\":236.0}"
},
"name" : "Copy_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Func.Copy",
"presetGUID" : "C3E84342DB046C048BABD41DF1B5E3ED"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":417.0,\"y\":380.5}"
},
"name" : "Cache_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":570.0,\"y\":372.5}"
},
"name" : "Copy_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Func.Copy",
"presetGUID" : "C3E84342DB046C048BABD41DF1B5E3ED"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":916.3101806640625,\"y\":-117.3675231933594}"
},
"name" : "IsNull_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "obj"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Object.IsNull",
"presetGUID" : "84AEE2708BDEAAFDEBA207A1733A052F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1934.918701171875,\"y\":148.8443603515625}"
},
"name" : "If_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":483.0535278320313,\"y\":16.17946243286133}"
},
"name" : "GetObjectTypeArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetObjectTypeArray",
"presetGUID" : "66A5F07E0416A62CB53A304F8740F2F4"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1685.656494140625,\"y\":257.05517578125}"
},
"name" : "If_5",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1476.893310546875,\"y\":324.5025634765625}"
},
"name" : "If_6",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1162.135986328125,\"y\":0.9979705810546875}"
},
"name" : "Eq_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Eq",
"presetGUID" : "93ED995BF72FF60586DF066085823F3A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1242.534790039063,\"y\":174.9123229980469}"
},
"name" : "Eq_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Eq",
"presetGUID" : "93ED995BF72FF60586DF066085823F3A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1036.958374023438,\"y\":58.89122009277344}",
"uiCollapsedState" : "1"
},
"name" : "StringArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "PolyMesh"
},
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.StringArray",
"presetGUID" : "4DBA9D7C797782494EF63035F9B6545B"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1106.112426757813,\"y\":258.0079650878906}",
"uiCollapsedState" : "1"
},
"name" : "StringArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "SubD"
},
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.StringArray",
"presetGUID" : "4DBA9D7C797782494EF63035F9B6545B"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":215.9043426513672,\"y\":236.06396484375}"
},
"name" : "GetPolyMeshArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPolyMeshArray",
"presetGUID" : "4F4DC24E94ACF50070169FFDDE006C36"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":226.9757995605469,\"y\":362.7733154296875}"
},
"name" : "GetSubDArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetSubDArray",
"presetGUID" : "8EFF099D149BFB1B3DDDB2D72F822EA8"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-297.7581481933594,\"y\":155.9896087646484}"
},
"name" : "Push_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":870.4578247070313,\"y\":240.9152526855469}"
},
"name" : "ReadSampleArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "freezeAttributeIndices"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "mesh"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicPolyMeshReader.ReadSampleArray",
"presetGUID" : "7F56E286915DF6D629EE3BFE0D7EFE5D"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":694.0536499023438,\"y\":319.8327941894531}",
"uiCollapsedState" : "1"
},
"name" : "BooleanArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"Boolean" : true
},
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.BooleanArray",
"presetGUID" : "E13FBB886C362DE73658ED63F3735886"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-330.698486328125,\"y\":371.7091979980469}"
},
"name" : "Push_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Var",
"metadata" : {
"uiGraphPos" : "{\"x\":-432.2557678222656,\"y\":567.315673828125}"
},
"name" : "meshesVar",
"ports" : [
{
"objectType" : "VarPort",
"nodePortType" : "IO",
"name" : "value"
}
],
"dataType" : "PolygonMesh[]",
"extDep" : "Geometry:*"
},
{
"objectType" : "Set",
"metadata" : {
"uiGraphPos" : "{\"x\":629.3257446289063,\"y\":638.8983154296875}"
},
"name" : "set_2",
"ports" : [
{
"objectType" : "SetPort",
"nodePortType" : "IO",
"name" : "value"
}
],
"varPath" : "meshesVar"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":908.7564697265625,\"y\":391.7874755859375}"
},
"name" : "ReadSampleArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "mesh"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicSubDReader.ReadSampleArray",
"presetGUID" : "2EE3B9536F6F2B9F111061ECA4127310"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-21.22125434875488,\"y\":480.2296142578125}"
},
"name" : "Size_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "count"
}
],
"executable" : "Fabric.Core.Array.Size",
"presetGUID" : "5B186A97C79ACF32526EC844AD805421"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-20.76139831542969,\"y\":550.323486328125}"
},
"name" : "Size_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "count"
}
],
"executable" : "Fabric.Core.Array.Size",
"presetGUID" : "5B186A97C79ACF32526EC844AD805421"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":423.4243469238281,\"y\":549.3602905273438}"
},
"name" : "If_7",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":169.8105316162109,\"y\":508.8497924804688}"
},
"name" : "Neq_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Neq",
"presetGUID" : "6ED44CE562AA433EE8B354939B94482E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-781.7737426757813,\"y\":649.5617065429688}"
},
"name" : "PolygonMeshArray",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "debugNames"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"definition" : {
"objectType" : "Func",
"title" : "PolygonMeshArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "debugNames",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "PolygonMesh[]"
}
],
"extDeps" : {
"Geometry" : "*"
},
"code" : "dfgEntry {
result.resize(debugNames.size());
for(Size i=0;i<result.size();i++)
result[i] = PolygonMesh(debugNames[i], false);
}
"
}
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":14.23574352264404,\"y\":729.667724609375}"
},
"name" : "Neq_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Neq",
"presetGUID" : "A4E8FE46847EEFDFBB087713A41513E5"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-208.4322814941406,\"y\":657.3624877929688}"
},
"name" : "GetDebugNameArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.Geometry.Func.GetDebugNameArray",
"presetGUID" : "42C088973CCDDA0485D8433B4EE8C4DE"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":207.3428192138672,\"y\":633.1390380859375}"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":2169.24853515625,\"y\":233.1651916503906}"
},
"name" : "Cache_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
}
],
"connections" : {
"archive" : [
"IsNull_1.obj",
"Push_1.element"
],
"paths" : [
"GetObjectTypeArray_1.path",
"GetPolyMeshArray_1.path",
"GetSubDArray_1.path",
"Size_2.array",
"PolygonMeshArray.debugNames",
"Neq_3.rhs"
],
"time" : [
"Push_2.element"
],
"Cache_1.value" : [
"Copy_1.value"
],
"Copy_1.result" : [
"ReadSampleArray_1.this"
],
"Cache_2.value" : [
"Copy_2.value"
],
"Copy_2.result" : [
"ReadSampleArray_2.this"
],
"IsNull_1.result" : [
"If_3.cond"
],
"If_3.result" : [
"Cache_3.value"
],
"GetObjectTypeArray_1.result" : [
"Eq_3.lhs",
"Eq_4.lhs"
],
"If_5.result" : [
"If_3.if_false"
],
"If_6.result" : [
"If_5.if_false"
],
"Eq_3.result" : [
"If_5.cond"
],
"Eq_4.result" : [
"If_6.cond"
],
"StringArray_1.array" : [
"Eq_3.rhs"
],
"StringArray_2.array" : [
"Eq_4.rhs"
],
"GetPolyMeshArray_1.result" : [
"Cache_1.value"
],
"GetSubDArray_1.result" : [
"Cache_2.value"
],
"Push_1.array" : [
"GetObjectTypeArray_1.this",
"GetPolyMeshArray_1.this",
"GetSubDArray_1.this"
],
"ReadSampleArray_1.mesh" : [
"If_5.if_true"
],
"BooleanArray_1.array" : [
"ReadSampleArray_1.freezeAttributeIndices"
],
"Push_2.array" : [
"ReadSampleArray_1.time",
"ReadSampleArray_2.time"
],
"meshesVar.value" : [
"Size_1.array",
"GetDebugNameArray_1.this",
"If_1.if_false"
],
"set_2.value" : [
"ReadSampleArray_2.mesh",
"ReadSampleArray_1.mesh",
"If_3.if_true",
"If_6.if_false"
],
"ReadSampleArray_2.mesh" : [
"If_6.if_true"
],
"Size_1.count" : [
"Neq_2.lhs"
],
"Size_2.count" : [
"Neq_2.rhs"
],
"If_7.result" : [
"set_2.value"
],
"Neq_2.result" : [
"If_7.cond"
],
"PolygonMeshArray.result" : [
"If_7.if_true",
"meshesVar.value",
"If_1.if_true"
],
"Neq_3.result" : [
"If_1.cond"
],
"GetDebugNameArray_1.result" : [
"Neq_3.lhs"
],
"If_1.result" : [
"If_7.if_false"
],
"Cache_3.value" : [
"meshes"
]
}
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPolyMeshArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "returns a AlembicPolyMeshReader wrapper for the AlembicIPolyMesh object at a given path\n\nSupported types:\n this: AlembicArchiveReader\n path: String\n result: AlembicPolyMeshReader\n"
},
"title" : "GetPolyMesh[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "path",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "AlembicPolyMeshReader[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "4F4DC24E94ACF50070169FFDDE006C36",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicArchiveReader_getPolyMesh_task<<<index>>>(
io AlembicPolyMeshReader[] result
, io AlembicArchiveReader[] this
, in String[] path
) {
result[index] = this[index < this.size() ? index : this.size() - 1].getPolyMesh(path[index < path.size() ? index : path.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( path.size() == 0) return;
Size task_size = this.size();
if(task_size < path.size()) task_size = path.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicArchiveReader_getPolyMesh_task(index, result, this, path);
}
} else {
AlembicWrapper_AlembicArchiveReader_getPolyMesh_task<<<task_size>>>(result, this, path);
}
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetSubDArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "returns a AlembicSubDReader wrapper for the AlembicISubD object at a given path\n\nSupported types:\n this: AlembicArchiveReader\n path: String\n result: AlembicSubDReader\n"
},
"title" : "GetSubD[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "path",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "AlembicSubDReader[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "8EFF099D149BFB1B3DDDB2D72F822EA8",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicArchiveReader_getSubD_task<<<index>>>(
io AlembicSubDReader[] result
, io AlembicArchiveReader[] this
, in String[] path
) {
result[index] = this[index < this.size() ? index : this.size() - 1].getSubD(path[index < path.size() ? index : path.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( path.size() == 0) return;
Size task_size = this.size();
if(task_size < path.size()) task_size = path.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicArchiveReader_getSubD_task(index, result, this, path);
}
} else {
AlembicWrapper_AlembicArchiveReader_getSubD_task<<<task_size>>>(result, this, path);
}
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicPolyMeshReader.ReadSampleArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "reads a sample at a given time. this will properly interpolate between samples.\nthe result is stored in the provided PolygonMesh.\nfreezeAttributeIndices: maintain Mesh's attribute sharing layout of the 1st read sample through playback.\nFor example, if new normal or UV splits are introduced during playback, one of the values will be used (arbitrary).\nThe advantage is to gain more speed and to ensure attribute matching (for effects such as motion blur).\nThis options will be ignored if the topology changes.\n\nSupported types:\n this: AlembicPolyMeshReader\n time: Float64\n freezeAttributeIndices: Boolean\n mesh: PolygonMesh\n"
},
"title" : "ReadSample[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicPolyMeshReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64[]" : [
0
]
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Boolean[]" : [
false
]
},
"name" : "freezeAttributeIndices",
"execPortType" : "In",
"typeSpec" : "Boolean[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 51,\n \"g\" : 1,\n \"b\" : 106\n }"
},
"nodePortType" : "IO",
"name" : "mesh",
"execPortType" : "IO",
"typeSpec" : "PolygonMesh[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "7F56E286915DF6D629EE3BFE0D7EFE5D",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicPolyMeshReader_readSample_task<<<index>>>(
io AlembicPolyMeshReader[] this
, in Float64[] time
, in Boolean[] freezeAttributeIndices
, io PolygonMesh[] mesh
) {
this[index < this.size() ? index : this.size() - 1].readSample(time[index < time.size() ? index : time.size() - 1], freezeAttributeIndices[index < freezeAttributeIndices.size() ? index : freezeAttributeIndices.size() - 1], mesh[index < mesh.size() ? index : mesh.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( time.size() == 0) return;
if( freezeAttributeIndices.size() == 0) return;
if( mesh.size() == 0) return;
Size task_size = this.size();
if(task_size < time.size()) task_size = time.size();
if(task_size < freezeAttributeIndices.size()) task_size = freezeAttributeIndices.size();
mesh.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicPolyMeshReader_readSample_task(index, this, time, freezeAttributeIndices, mesh);
}
} else {
AlembicWrapper_AlembicPolyMeshReader_readSample_task<<<task_size>>>(this, time, freezeAttributeIndices, mesh);
}
}
"
},
"Fabric.Core.Constants.BooleanArray" : {
"objectType" : "Func",
"title" : "Boolean[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "element",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"SInt32" : 1
},
"name" : "count",
"execPortType" : "In",
"typeSpec" : "SInt32"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "array",
"execPortType" : "Out",
"typeSpec" : "Boolean[]"
}
],
"extDeps" : {},
"presetGUID" : "E13FBB886C362DE73658ED63F3735886",
"code" : "
dfgEntry {
array.resize(count);
for(Size i=0;i<count;i++)
array[i] = element;
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicSubDReader.ReadSampleArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "reads a sample at a given time. this will properly interpolate between samples.\nthe result is stored into the provided PolygonMesh.\n\nSupported types:\n this: AlembicSubDReader\n time: Float64\n mesh: PolygonMesh\n"
},
"title" : "ReadSample[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicSubDReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64[]" : [
0
]
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 51,\n \"g\" : 1,\n \"b\" : 106\n }"
},
"nodePortType" : "IO",
"name" : "mesh",
"execPortType" : "IO",
"typeSpec" : "PolygonMesh[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "2EE3B9536F6F2B9F111061ECA4127310",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicSubDReader_readSample_task<<<index>>>(
io AlembicSubDReader[] this
, in Float64[] time
, io PolygonMesh[] mesh
) {
this[index < this.size() ? index : this.size() - 1].readSample(time[index < time.size() ? index : time.size() - 1], mesh[index < mesh.size() ? index : mesh.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( time.size() == 0) return;
if( mesh.size() == 0) return;
Size task_size = this.size();
if(task_size < time.size()) task_size = time.size();
mesh.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicSubDReader_readSample_task(index, this, time, mesh);
}
} else {
AlembicWrapper_AlembicSubDReader_readSample_task<<<task_size>>>(this, time, mesh);
}
}
"
},
"Fabric.Core.Array.Size" : {
"objectType" : "Func",
"title" : "Size[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "array",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "count",
"execPortType" : "Out",
"typeSpec" : "UInt32"
}
],
"extDeps" : {},
"presetGUID" : "5B186A97C79ACF32526EC844AD805421",
"code" : "
dfgEntry {
count = array.size();
}
"
},
"Fabric.Core.Logic.Neq" : {
"objectType" : "Func",
"title" : "Neq !=",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Boolean"
}
],
"extDeps" : {},
"presetGUID" : "6ED44CE562AA433EE8B354939B94482E",
"code" : "
dfgEntry {
result = lhs != rhs;
}
"
},
"Fabric.Core.Array.Neq" : {
"objectType" : "Func",
"title" : "Neq[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "lhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "rhs",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Boolean[]"
}
],
"extDeps" : {},
"presetGUID" : "A4E8FE46847EEFDFBB087713A41513E5",
"code" : "
operator core_array_neq_task<<<index>>>($TYPE$ lhs, $TYPE$ rhs, io Boolean[] result) {
result[index] = lhs[index < lhs.size() ? index : lhs.size() - 1] != rhs[index < rhs.size() ? index : rhs.size() - 1];
}
dfgEntry {
if(lhs.size() == 0) return;
if(rhs.size() == 0) return;
Size size = lhs.size() > rhs.size() ? lhs.size() : rhs.size();
result.resize(size);
if(size < 10000)
{
for(Size i=0;i<size;i++)
core_array_neq_task(i, lhs, rhs, result);
}
else
{
core_array_neq_task<<<size>>>(lhs, rhs, result);
}
}
"
},
"Fabric.Exts.Geometry.Func.GetDebugNameArray" : {
"objectType" : "Func",
"metadata" : {
"uiDocUrl" : "http://docs.fabric-engine.com/FabricEngine/2.1.0/HTML/KLExtensionsGuide/Geometry/Geometry.html",
"uiTooltip" : "Returns the debug name used when constructing the geometry.\n\n Supported by Geometry[],Points[],Lines[],PolygonMesh[]"
},
"title" : "GetDebugName[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "this",
"execPortType" : "In",
"typeSpec" : "$TYPE$"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {
"Geometry" : "*"
},
"presetGUID" : "42C088973CCDDA0485D8433B4EE8C4DE",
"code" : "
require Geometry;
dfgEntry {
result.resize(this.size());
for(Size i=0;i<this.size();i++)
result[i] = this[i].getDebugName();
}
"
},
"Fabric.Compounds.IO.SplitPathArray" : {
"objectType" : "Func",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }"
},
"title" : "SplitPathArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "paths",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "parents",
"execPortType" : "Out",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "children",
"execPortType" : "Out",
"typeSpec" : "String[]"
}
],
"extDeps" : {},
"presetGUID" : "0C8F7E3B2D86BB66A94115C45A823B6C",
"code" : "dfgEntry {
parents.resize(paths.size());
children.resize(paths.size());
for(Size i=0;i<paths.size();i++) {
String parts[] = paths[i].reversePartition('/');
parents[i] = parts[0];
children[i] = parts[2];
}
}
"
},
"Fabric.Exts.InlineDrawing.DrawingHandle.DrawPolygonMeshArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "Helper function for the InlineDrawing DrawingHandle data type\nto draw a list of objects given an index table and a list of\ntransforms.\n\nSupported types:\n this: DrawingHandle\n name: String\n color: Color\n specular: Color\n specFactor: Float32\n masters: PolygonMesh[]\n transforms: Xfo[]\n indices: Index[]\n wireFrame: Boolean\n doubleSided: Boolean\n dummyResult: Vec3\n instance: InlineInstance\n"
},
"title" : "DrawPolygonMeshArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "DrawingHandle"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "name",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 255,\n \"g\" : 0,\n \"b\" : 0\n }"
},
"nodePortType" : "Out",
"defaultValues" : {
"Color" : {
"r" : 0,
"g" : 1,
"b" : 0,
"a" : 1
}
},
"name" : "color",
"execPortType" : "In",
"typeSpec" : "Color"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 255,\n \"g\" : 0,\n \"b\" : 0\n }"
},
"nodePortType" : "Out",
"defaultValues" : {
"Color" : {
"r" : 0.2000000029802322,
"g" : 0.2000000029802322,
"b" : 0.2000000029802322,
"a" : 1
}
},
"name" : "specular",
"execPortType" : "In",
"typeSpec" : "Color"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float32" : 16
},
"name" : "specFactor",
"execPortType" : "In",
"typeSpec" : "Float32"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 51,\n \"g\" : 1,\n \"b\" : 106\n }"
},
"nodePortType" : "Out",
"name" : "masters",
"execPortType" : "In",
"typeSpec" : "PolygonMesh[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "Out",
"name" : "transforms",
"execPortType" : "In",
"typeSpec" : "Xfo[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "indices",
"execPortType" : "In",
"typeSpec" : "Index[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "wireFrame",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "doubleSided",
"execPortType" : "In",
"typeSpec" : "Boolean"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 255,\n \"g\" : 242,\n \"b\" : 0\n }"
},
"nodePortType" : "In",
"name" : "dummyResult",
"execPortType" : "Out",
"typeSpec" : "Vec3"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "instance",
"execPortType" : "Out",
"typeSpec" : "InlineInstance"
}
],
"extDeps" : {
"InlineDrawing" : "*",
"FabricInterfaces" : "*"
},
"presetGUID" : "C5D3967A103CAE41AF99EA35D2D636A8",
"code" : "require InlineDrawing;
dfgEntry {
this.drawPolygonMeshArray(name, color, specular, specFactor, masters, transforms, indices, wireFrame, doubleSided, dummyResult, instance);
}
"
},
"Fabric.Exts.InlineDrawing.DrawingHandle.DrawPointsArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "Helper function for the InlineDrawing DrawingHandle data type\nto draw a list of objects given an index table and a list of\ntransforms.\n\nSupported types:\n this: DrawingHandle\n name: String\n masters: Points[]\n transforms: Xfo[]\n indices: Index[]\n dummyResult: Vec3\n instance: InlineInstance\n"
},
"title" : "DrawPointsArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "DrawingHandle"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "name",
"execPortType" : "In",
"typeSpec" : "String"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 51,\n \"g\" : 1,\n \"b\" : 106\n }"
},
"nodePortType" : "Out",
"name" : "masters",
"execPortType" : "In",
"typeSpec" : "Points[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 249,\n \"g\" : 157,\n \"b\" : 28\n }"
},
"nodePortType" : "Out",
"name" : "transforms",
"execPortType" : "In",
"typeSpec" : "Xfo[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "indices",
"execPortType" : "In",
"typeSpec" : "Index[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 255,\n \"g\" : 242,\n \"b\" : 0\n }"
},
"nodePortType" : "In",
"name" : "dummyResult",
"execPortType" : "Out",
"typeSpec" : "Vec3"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "instance",
"execPortType" : "Out",
"typeSpec" : "InlineInstance"
}
],
"extDeps" : {
"InlineDrawing" : "*",
"FabricInterfaces" : "*"
},
"presetGUID" : "08535F0F4BD0DD4B77E456F1D578BFDE",
"code" : "require InlineDrawing;
dfgEntry {
this.drawPointsArray(name, masters, transforms, indices, dummyResult, instance);
}
"
},
"Fabric.Compounds.IO.Alembic.GetPointsArray" : {
"objectType" : "Graph",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 170,\n \"g\" : 130,\n \"b\" : 100\n }",
"uiGraphZoom" : "{\n \"value\" : 0.6183074712753296\n }",
"uiTooltip" : "Provides access to an array of Points objects within an alembic file given the archive and paths inside the file. If a path does not refer to an Points object an empty geometry is returned instead inside the result array.",
"uiGraphPan" : "{\n \"x\" : 747.936279296875,\n \"y\" : -48.18992614746094\n }"
},
"title" : "GetPointsArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "archive",
"execPortType" : "In",
"typeSpec" : "AlembicArchiveReader"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "paths",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "points",
"execPortType" : "Out",
"typeSpec" : "Points[]"
}
],
"extDeps" : {},
"presetGUID" : "698DE4272B1299A9009F10218579922E",
"nodes" : [
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":261.1850891113281,\"y\":346.8895263671875}"
},
"name" : "Cache_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":408.5986328125,\"y\":329.3031921386719}"
},
"name" : "Copy_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Func.Copy",
"presetGUID" : "C3E84342DB046C048BABD41DF1B5E3ED"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":752.1140747070313,\"y\":-26.34562683105469}"
},
"name" : "IsNull_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "obj"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Object.IsNull",
"presetGUID" : "84AEE2708BDEAAFDEBA207A1733A052F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1419.031860351563,\"y\":284.4222412109375}"
},
"name" : "If_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":491.9773254394531,\"y\":94.70816040039063}"
},
"name" : "GetObjectTypeArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetObjectTypeArray",
"presetGUID" : "66A5F07E0416A62CB53A304F8740F2F4"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1178.693969726563,\"y\":378.354736328125}"
},
"name" : "If_5",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":990.896484375,\"y\":253.8784637451172}"
},
"name" : "Eq_4",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Eq",
"presetGUID" : "93ED995BF72FF60586DF066085823F3A"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":831.0997314453125,\"y\":311.3136596679688}",
"uiCollapsedState" : "1"
},
"name" : "StringArray_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"defaultValues" : {
"String" : "Points"
},
"name" : "element"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "count"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "array"
}
],
"executable" : "Fabric.Core.Constants.StringArray",
"presetGUID" : "4DBA9D7C797782494EF63035F9B6545B"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-297.7581481933594,\"y\":155.9896087646484}"
},
"name" : "Push_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-327.4638671875,\"y\":392.7342529296875}"
},
"name" : "Push_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "element"
}
],
"executable" : "Fabric.Core.Array.Push",
"presetGUID" : "572880BF96ACC34D6987BE3333715F52"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-241.5964660644531,\"y\":478.6780090332031}"
},
"name" : "Size_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "count"
}
],
"executable" : "Fabric.Core.Array.Size",
"presetGUID" : "5B186A97C79ACF32526EC844AD805421"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-241.1365966796875,\"y\":548.7718505859375}"
},
"name" : "Size_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "array"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "count"
}
],
"executable" : "Fabric.Core.Array.Size",
"presetGUID" : "5B186A97C79ACF32526EC844AD805421"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":203.0491943359375,\"y\":547.8086547851563}"
},
"name" : "If_7",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Control.If",
"presetGUID" : "3182A478A21643455D549E483D35F831"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-50.56452178955078,\"y\":507.2981872558594}"
},
"name" : "Neq_2",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Logic.Neq",
"presetGUID" : "6ED44CE562AA433EE8B354939B94482E"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-856.8775024414063,\"y\":658.2222290039063}"
},
"name" : "PointsArray",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "debugNames"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"definition" : {
"objectType" : "Func",
"metadata" : {
"uiTextColor" : "{\n \"r\" : 20,\n \"g\" : 20,\n \"b\" : 20\n }",
"uiNodeColor" : "{\n \"r\" : 121,\n \"g\" : 134,\n \"b\" : 143\n }"
},
"title" : "PolygonMeshArray",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"name" : "debugNames",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "Points[]"
}
],
"extDeps" : {
"Geometry" : "*"
},
"code" : "dfgEntry {
result.resize(debugNames.size());
for(Size i=0;i<result.size();i++)
result[i] = Points(debugNames[i]);
}
"
}
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-206.1393127441406,\"y\":728.1160888671875}"
},
"name" : "Neq_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "lhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "rhs"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.Neq",
"presetGUID" : "A4E8FE46847EEFDFBB087713A41513E5"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-432.0570678710938,\"y\":648.7947387695313}"
},
"name" : "GetDebugNameArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.Geometry.Func.GetDebugNameArray",
"presetGUID" : "42C088973CCDDA0485D8433B4EE8C4DE"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":-13.03221893310547,\"y\":631.58740234375}"
},
"name" : "If_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "cond"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_true"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "if_false"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Core.Array.If",
"presetGUID" : "D38AFEE9C10A7DD23F4EA241455C266F"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":1601.099365234375,\"y\":344.0345458984375}"
},
"name" : "Cache_3",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "value"
}
],
"executable" : "Fabric.Core.Data.Cache",
"presetGUID" : "D903AFD981FE9214C69943F542D5FD60"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":113.3079986572266,\"y\":319.4208984375}"
},
"name" : "GetPointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "path"
},
{
"objectType" : "InstPort",
"nodePortType" : "Out",
"name" : "result"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPointsArray",
"presetGUID" : "1003B8265704FE53F5535077485970D7"
},
{
"objectType" : "Inst",
"metadata" : {
"uiGraphPos" : "{\"x\":579.3993530273438,\"y\":372.2040710449219}"
},
"name" : "ReadSamplePointsArray_1",
"ports" : [
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "exec"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "this"
},
{
"objectType" : "InstPort",
"nodePortType" : "In",
"name" : "time"
},
{
"objectType" : "InstPort",
"nodePortType" : "IO",
"name" : "points"
}
],
"executable" : "Fabric.Exts.AlembicWrapper.AlembicPointsReader.ReadSamplePointsArray",
"presetGUID" : "CE8966B6608033F7A43A23E5F4445E83"
},
{
"objectType" : "Var",
"metadata" : {
"uiGraphPos" : "{\"x\":-598.0406494140625,\"y\":513.4344482421875}"
},
"name" : "pointsVar",
"ports" : [
{
"objectType" : "VarPort",
"nodePortType" : "IO",
"name" : "value"
}
],
"dataType" : "Points[]",
"extDep" : "Geometry:*"
},
{
"objectType" : "Set",
"metadata" : {
"uiGraphPos" : "{\"x\":383.0557250976563,\"y\":579.8778076171875}"
},
"name" : "set_2",
"ports" : [
{
"objectType" : "SetPort",
"nodePortType" : "IO",
"name" : "value"
}
],
"varPath" : "pointsVar"
}
],
"connections" : {
"archive" : [
"IsNull_1.obj",
"Push_1.element"
],
"paths" : [
"GetObjectTypeArray_1.path",
"Size_2.array",
"PointsArray.debugNames",
"Neq_3.rhs",
"GetPointsArray_1.path"
],
"time" : [
"Push_2.element"
],
"Cache_1.value" : [
"Copy_1.value"
],
"Copy_1.result" : [
"ReadSamplePointsArray_1.this"
],
"IsNull_1.result" : [
"If_3.cond"
],
"If_3.result" : [
"Cache_3.value"
],
"GetObjectTypeArray_1.result" : [
"Eq_4.lhs"
],
"If_5.result" : [
"If_3.if_false"
],
"Eq_4.result" : [
"If_5.cond"
],
"StringArray_2.array" : [
"Eq_4.rhs"
],
"Push_1.array" : [
"GetObjectTypeArray_1.this",
"GetPointsArray_1.this"
],
"Push_2.array" : [
"ReadSamplePointsArray_1.time"
],
"Size_1.count" : [
"Neq_2.lhs"
],
"Size_2.count" : [
"Neq_2.rhs"
],
"If_7.result" : [
"set_2.value"
],
"Neq_2.result" : [
"If_7.cond"
],
"PointsArray.result" : [
"If_7.if_true",
"If_1.if_true",
"pointsVar.value"
],
"Neq_3.result" : [
"If_1.cond"
],
"GetDebugNameArray_1.result" : [
"Neq_3.lhs"
],
"If_1.result" : [
"If_7.if_false"
],
"Cache_3.value" : [
"points"
],
"GetPointsArray_1.result" : [
"Cache_1.value"
],
"ReadSamplePointsArray_1.points" : [
"If_5.if_true"
],
"pointsVar.value" : [
"Size_1.array",
"GetDebugNameArray_1.this",
"If_1.if_false"
],
"set_2.value" : [
"ReadSamplePointsArray_1.points",
"If_5.if_false",
"If_3.if_true"
]
}
},
"Fabric.Exts.AlembicWrapper.AlembicArchiveReader.GetPointsArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "returns a AlembicPointsReader wrapper for the AlembicIPoints object at a given path\n\nSupported types:\n this: AlembicArchiveReader\n path: String\n result: AlembicPointsReader\n"
},
"title" : "GetPoints[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicArchiveReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"String[]" : [
""
]
},
"name" : "path",
"execPortType" : "In",
"typeSpec" : "String[]"
},
{
"objectType" : "Port",
"nodePortType" : "In",
"name" : "result",
"execPortType" : "Out",
"typeSpec" : "AlembicPointsReader[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "1003B8265704FE53F5535077485970D7",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicArchiveReader_getPoints_task<<<index>>>(
io AlembicPointsReader[] result
, io AlembicArchiveReader[] this
, in String[] path
) {
result[index] = this[index < this.size() ? index : this.size() - 1].getPoints(path[index < path.size() ? index : path.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( path.size() == 0) return;
Size task_size = this.size();
if(task_size < path.size()) task_size = path.size();
result.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicArchiveReader_getPoints_task(index, result, this, path);
}
} else {
AlembicWrapper_AlembicArchiveReader_getPoints_task<<<task_size>>>(result, this, path);
}
}
"
},
"Fabric.Exts.AlembicWrapper.AlembicPointsReader.ReadSamplePointsArray" : {
"objectType" : "Func",
"metadata" : {
"uiTooltip" : "reads a sample at a given time. this will properly interpolate between samples.\nthe result is stored in the provided Points.\n\nSupported types:\n this: AlembicPointsReader\n time: Float64\n points: Points\n"
},
"title" : "ReadSamplePoints[]",
"ports" : [
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "exec",
"execPortType" : "IO",
"typeSpec" : "Execute"
},
{
"objectType" : "Port",
"nodePortType" : "IO",
"name" : "this",
"execPortType" : "IO",
"typeSpec" : "AlembicPointsReader[]"
},
{
"objectType" : "Port",
"nodePortType" : "Out",
"defaultValues" : {
"Float64[]" : [
0
]
},
"name" : "time",
"execPortType" : "In",
"typeSpec" : "Float64[]"
},
{
"objectType" : "Port",
"metadata" : {
"uiColor" : "{\n \"r\" : 51,\n \"g\" : 1,\n \"b\" : 106\n }"
},
"nodePortType" : "IO",
"name" : "points",
"execPortType" : "IO",
"typeSpec" : "Points[]"
}
],
"extDeps" : {
"AlembicWrapper" : "*"
},
"presetGUID" : "CE8966B6608033F7A43A23E5F4445E83",
"code" : "require AlembicWrapper;
operator AlembicWrapper_AlembicPointsReader_readSamplePoints_task<<<index>>>(
io AlembicPointsReader[] this
, in Float64[] time
, io Points[] points
) {
this[index < this.size() ? index : this.size() - 1].readSamplePoints(time[index < time.size() ? index : time.size() - 1], points[index < points.size() ? index : points.size() - 1]);
}
dfgEntry {
if( this.size() == 0) return;
if( time.size() == 0) return;
if( points.size() == 0) return;
Size task_size = this.size();
if(task_size < time.size()) task_size = time.size();
points.resize(task_size);
if(task_size < 10000 /* pex margin */) {
for(Size index = 0; index < task_size; index++) {
AlembicWrapper_AlembicPointsReader_readSamplePoints_task(index, this, time, points);
}
} else {
AlembicWrapper_AlembicPointsReader_readSamplePoints_task<<<task_size>>>(this, time, points);
}
}
"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment