SICALLBACK XSILoadPlugin( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"Svyatoslav Shumikhin"); in_reg.PutName(L"AppLink_3DCoat_Plugin"); in_reg.PutVersion(1,5); in_reg.PutHelp("http://www.3d-coat.com/forum/index.php"); //RegistrationInsertionPoint - do not remove this line // Register commands for importing and exporting a polygon mesh in_reg.RegisterCommand(L"Coat3DExport"); in_reg.RegisterCommand(L"Coat3DImport"); in_reg.RegisterEvent(L"siOnActivateEvent",siOnActivate); // Install a top-level menu for the import/export tool in_reg.RegisterMenu(siMenuMainTopLevelID, L"AppLink_3DCoat", false,false); in_reg.RegisterMenu(siMenuMainFileExportID,"Export3DCoatMenu",false); in_reg.RegisterMenu(siMenuMainFileImportID,"Import3DCoatMenu",false); // Register a custom property to use as the import/export UI in_reg.RegisterProperty(L"AppLink_3DCoat"); return CStatus::OK; }
XSIPLUGINCALLBACK CStatus XSILoadPlugin( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"hmathee"); in_reg.PutName(L"sixcpp_lattice Plugin"); in_reg.PutEmail(L""); in_reg.PutURL(L""); in_reg.PutVersion(1,0); Register_nest_ArrayNode( in_reg ); Register_nest_LatticeNode( in_reg ); return CStatus::OK; }
XSIPLUGINCALLBACK CStatus XSIUnloadPlugin( const PluginRegistrar& in_reg ) { CString strPluginName; strPluginName = in_reg.GetName(); Application().LogMessage(strPluginName + L" has been unloaded.",siVerboseMsg); return CStatus::OK; }
CStatus Register_MOM_AddToCluster( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"MOM_AddToCluster",L"MOM_AddToCluster"); CStatus st; st = nodeDef.PutColor(255,188,102); st.AssertSucceeded( ) ; st = nodeDef.PutThreadingModel(XSI::siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_base,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"base",L"base",0,0,1000000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_id,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"id",L"id",0,0,1000000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_cluster,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"cluster",L"cluster",0,0,1000000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; // Add output ports. st = nodeDef.AddOutputPort(ID_OUT_base,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"outbase",L"outbase",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Custom ICENode"); return CStatus::OK; }
CStatus Register_nest_ArrayNode( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"nest_GetPositionArray"); CStatus st; st = nodeDef.PutThreadingModel(XSI::siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(Array_ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Array_ID_IN_Vector,Array_ID_G_100,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextAny,L"Vector",L"Vector",CVector3f(0,0,0),Array_ID_UNDEF,Array_ID_UNDEF,Array_ID_CTXT_CNS); st.AssertSucceeded( ) ; // Add output ports and groups. st = nodeDef.AddPortGroup(Array_ID_G_300); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(Array_ID_OUT_Result,Array_ID_G_300,siICENodeDataVector3,siICENodeStructureArray,siICENodeContextSingleton,L"Array",L"Array",Array_ID_UNDEF,Array_ID_UNDEF,Array_ID_UNDEF); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Array"); return CStatus::OK; }
SICALLBACK XSIUnloadPlugin( const PluginRegistrar& in_reg ) { CString strPluginName; strPluginName = in_reg.GetName(); app.LogMessage(strPluginName + L" has been unloaded.",siVerboseMsg); return CStatus::OK; }
CStatus Register_MOM_GetContactPoints( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"MOM_GetContactPoints",L"MOM_GetContactPoints"); CStatus st; st = nodeDef.PutColor(255,188,102); st.AssertSucceeded( ) ; st = nodeDef.PutThreadingModel(XSI::siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_mode,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextSingleton,L"mode",L"mode",0,0,2,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_minImpulse_id,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"minImpulse",L"minImpulse",1,0,1000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; // Add output ports. st = nodeDef.AddOutputPort(ID_OUT_Contacts,siICENodeDataMatrix33,siICENodeStructureArray,siICENodeContextSingleton,L"Contacts",L"Contacts",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Custom ICENode"); return CStatus::OK; }
CStatus RegisterToonixGetData( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"ToonixGetData",L"ToonixGetData"); CStatus st; st = nodeDef.PutColor(ToonixNodeR,ToonixNodeG,ToonixNodeB); st.AssertSucceeded( ) ; st = nodeDef.PutThreadingModel(siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add custom types definition. st = nodeDef.DefineCustomType(L"ToonixData",L"ToonixData",L"ToonixData",ToonixDataR,ToonixDataG,ToonixDataB); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_Geometry,ID_G_100,siICENodeDataGeometry,siICENodeStructureSingle,siICENodeContextSingleton,L"Geometry",L"Geometry"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraCulling,ID_G_100,siICENodeDataBool,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraCulling",L"CameraCulling",false); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraGlobal,ID_G_100,siICENodeDataMatrix44,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraGlobal",L"CameraGlobal"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraFov,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraFov",L"CameraFov"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraAspect,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraAspect",L"CameraAspect"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraNear,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraNear",L"CameraNear",0.0); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_CameraFar,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"CameraFar",L"CameraFar",1000.0); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_UseOctree,ID_G_100,siICENodeDataBool,siICENodeStructureSingle,siICENodeContextSingleton,L"UseOctree",L"UseOctree",false); st.AssertSucceeded( ) ; // Add output ports. CStringArray ToonixDataCustomType(1); ToonixDataCustomType[0] = L"ToonixData"; st = nodeDef.AddOutputPort(ID_OUT_ToonixData,ToonixDataCustomType,siICENodeStructureSingle,siICENodeContextSingleton,L"ToonixData",L"ToonixData",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Toonix"); return CStatus::OK; }
CStatus VDB_Node_VolumeToMesh::Register(PluginRegistrar& reg) { ICENodeDef nodeDef; Factory factory = Application().GetFactory(); nodeDef = factory.CreateICENodeDef(L"VDB_Node_VolumeToMesh", L"Volume To Mesh"); CStatus st; st = nodeDef.PutColor(110, 110, 110); st.AssertSucceeded(); st = nodeDef.PutThreadingModel(siICENodeSingleThreading); st.AssertSucceeded(); // Add custom types definition st = nodeDef.DefineCustomType(L"vdb_prim" ,L"VDB Grid", L"openvdb grid type", 155, 21, 10); st.AssertSucceeded(); // Add input ports and groups. st = nodeDef.AddPortGroup(kGroup1); st.AssertSucceeded(); // Add custom type names. CStringArray customTypes(1); customTypes[0] = L"vdb_prim"; // stupid default arguments wont work have to add ULONG_MAX st = nodeDef.AddInputPort(kVDBGrid, kGroup1, customTypes, siICENodeStructureSingle, siICENodeContextSingleton, L"VDB Grid", L"inVDBGrid",ULONG_MAX,ULONG_MAX,ULONG_MAX); st.AssertSucceeded(); st = nodeDef.AddInputPort(kIsoValue, kGroup1, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Iso Value", L"isoValue", 0.0); st.AssertSucceeded(); st = nodeDef.AddInputPort(kAdaptivity, kGroup1, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Adaptivity", L"adaptivity", 0.0); st.AssertSucceeded(); // Add output ports. st = nodeDef.AddOutputPort(kPointArray, siICENodeDataVector3, siICENodeStructureArray, siICENodeContextSingleton, L"Point Array", L"pointList"); st.AssertSucceeded(); st = nodeDef.AddOutputPort(kPolygonArray, siICENodeDataLong, siICENodeStructureArray, siICENodeContextSingleton, L"Polygon Array", L"polygonPoolList"); st.AssertSucceeded(); PluginItem nodeItem = reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"OpenVDB"); return CStatus::OK; }
CStatus RegisterToonixLighter( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"ToonixLighter",L"ToonixLighter"); CStatus st; st = nodeDef.PutColor(ToonixNodeR,ToonixNodeG,ToonixNodeB); st.AssertSucceeded( ) ; // Add custom types definition. st = nodeDef.DefineCustomType(L"ToonixData",L"ToonixData",L"ToonixData",ToonixLineR,ToonixLineG,ToonixLineB); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; CStringArray ToonixLineCustomType(1); ToonixLineCustomType[0] = L"ToonixData"; st = nodeDef.AddInputPort(ID_IN_ToonixData,ID_G_100,ToonixLineCustomType,siICENodeStructureSingle,siICENodeContextSingleton,L"ToonixData",L"ToonixData",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_ViewPosition,ID_G_100,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextSingleton,L"ViewPosition",L"ViewPosition"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_LightPosition,ID_G_100,siICENodeDataVector3,siICENodeStructureAny,siICENodeContextSingleton,L"LightPosition",L"LightPosition"); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_LightBias,ID_G_100,siICENodeDataFloat,siICENodeStructureAny,siICENodeContextSingleton,L"LightBias",L"LightBias",0.0); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_LightDistance,ID_G_100,siICENodeDataFloat,siICENodeStructureAny,siICENodeContextSingleton,L"LightDistance",L"LightDistance",100.0); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_Revert,ID_G_100,siICENodeDataBool,siICENodeStructureSingle,siICENodeContextSingleton,L"Revert",L"Revert",false); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_Push,ID_G_100,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextSingleton,L"Push",L"Push",0.0); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_ByTriangle,ID_G_100,siICENodeDataBool,siICENodeStructureSingle,siICENodeContextSingleton,L"ByTriangle",L"ByTriangle",true); st.AssertSucceeded( ) ; // Add output ports. st = nodeDef.AddOutputPort(ID_OUT_Vertices,siICENodeDataVector3,siICENodeStructureArray,siICENodeContextSingleton,L"Vertices",L"Vertices",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_Polygons,siICENodeDataLong,siICENodeStructureArray,siICENodeContextSingleton,L"Polygons",L"Polygons",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Toonix"); return CStatus::OK; }
SICALLBACK XSIUnloadPlugin( const PluginRegistrar& in_reg ) { deleteAllArchives(); CString strPluginName; strPluginName = in_reg.GetName(); Application().LogMessage(strPluginName + L" has been unloaded.",siVerboseMsg); return CStatus::OK; }
CStatus VDB_Node_FBM::Register(PluginRegistrar& reg) { ICENodeDef nodeDef; Factory factory = Application().GetFactory(); nodeDef = factory.CreateICENodeDef(L"VDB_Node_FBM", L"VDB FBM"); CStatus st; st = nodeDef.PutColor(110, 110, 110); st.AssertSucceeded(); st = nodeDef.PutThreadingModel(siICENodeSingleThreading); st.AssertSucceeded(); // Add custom types definition st = nodeDef.DefineCustomType(L"vdb_prim" ,L"VDB Grid", L"openvdb grid type", 155, 21, 10); st.AssertSucceeded(); // Add input ports and groups. st = nodeDef.AddPortGroup(kGroup1); st.AssertSucceeded(); // Add custom type names. CStringArray customTypes(1); customTypes[0] = L"vdb_prim"; st = nodeDef.AddInputPort(kInVDBGrid, kGroup1, customTypes, siICENodeStructureSingle, siICENodeContextSingleton, L"In", L"inVDBGrid",ULONG_MAX,ULONG_MAX,ULONG_MAX); st.AssertSucceeded(); st = nodeDef.AddInputPort(kOctaves, kGroup1, siICENodeDataLong, siICENodeStructureSingle, siICENodeContextSingleton, L"Octaves", L"octaves", CValue(6)); st.AssertSucceeded(); st = nodeDef.AddInputPort(kLacunarity, kGroup1, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Lacunarity", L"lacunarity", CValue(2.0)); st.AssertSucceeded(); st = nodeDef.AddInputPort(kGain, kGroup1, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Gain", L"gain", CValue(0.5)); st.AssertSucceeded(); st = nodeDef.AddOutputPort(kOutVDBGrid, customTypes, siICENodeStructureSingle, siICENodeContextSingleton, L"Out", L"outVDBGrid"); st.AssertSucceeded(); PluginItem nodeItem = reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"OpenVDB"); return CStatus::OK; }
CStatus RegisterToonixCurve(PluginRegistrar& in_reg) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"ToonixCurve", L"ToonixCurve"); CStatus st; st = nodeDef.PutColor(ToonixNodeR, ToonixNodeG, ToonixNodeB); st.AssertSucceeded(); st = nodeDef.PutThreadingModel(siICENodeSingleThreading); st.AssertSucceeded(); // Add custom types definition. st = nodeDef.DefineCustomType(L"ToonixLine", L"ToonixLine", L"ToonixLine", ToonixLineR, ToonixLineG, ToonixLineB); st.AssertSucceeded(); // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_Curves, ID_G_100, siICENodeDataGeometry, siICENodeStructureSingle, siICENodeContextSingleton, L"Curves", L"Curves"); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_ViewPosition, ID_G_100, siICENodeDataVector3, siICENodeStructureAny, siICENodeContextSingleton, L"ViewPoint", L"ViewPoint"); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_Width, ID_G_100, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Width", L"Width", 0.1); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_BreakAngle, ID_G_100, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"BreakAngle", L"BreakAngle", 90.0); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_Extend, ID_G_100, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"Extend", L"Extend", 0.0); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_FilterPoints, ID_G_100, siICENodeDataFloat, siICENodeStructureSingle, siICENodeContextSingleton, L"FilterPoints", L"FilterPoints", 0.0); st.AssertSucceeded(); st = nodeDef.AddInputPort(ID_IN_Smooth, ID_G_100, siICENodeDataBool, siICENodeStructureSingle, siICENodeContextSingleton, L"SmoothSilhouette", L"SmoothSilhouette", true); st.AssertSucceeded(); // Add output ports. CStringArray ToonixLineCustomType(1); ToonixLineCustomType[0] = L"ToonixLine"; st = nodeDef.AddOutputPort(ID_OUT_ToonixLine, ToonixLineCustomType, siICENodeStructureSingle, siICENodeContextSingleton, L"ToonixLine", L"ToonixLine", ID_UNDEF, ID_UNDEF, ID_CTXT_CNS); st.AssertSucceeded(); PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Toonix"); return CStatus::OK; }
CStatus Register_MOM_GetAttributes( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"MOM_GetAttributes",L"MOM_GetAttributes"); CStatus st; st = nodeDef.PutColor(255,188,102); st.AssertSucceeded( ) ; st = nodeDef.PutThreadingModel(XSI::siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_base,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"base",L"base",0,0,1000000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_id,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"id",L"id",0,0,1000000,ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; // Add output ports. st = nodeDef.AddOutputPort(ID_OUT_position,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextComponent0D,L"position",L"position",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_orientation,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextComponent0D,L"orientation",L"orientation",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_linvelocity,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextComponent0D,L"linvelocity",L"linvelocity",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_angvelocity,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextComponent0D,L"angvelocity",L"angvelocity",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_state,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextComponent0D,L"state",L"state",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_mass,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"mass",L"mass",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_bounce,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"bounce",L"bounce",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_friction,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"friction",L"friction",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_lindamping,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"lindamping",L"lindamping",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_angdamping,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"angdamping",L"angdamping",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_lintreshold,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"lintreshold",L"lintreshold",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_angtreshold,siICENodeDataFloat,siICENodeStructureSingle,siICENodeContextComponent0D,L"angtreshold",L"angtreshold",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Custom ICENode"); return CStatus::OK; }
/* Plugin ロードエントリ */ XSIPLUGINCALLBACK CStatus XSILoadPlugin( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"oyaG"); in_reg.PutName(L"GMenuPlugin"); in_reg.PutEmail(L""); in_reg.PutURL(L""); in_reg.PutVersion(1,0); in_reg.RegisterCommand(L"GMenu",L"GMenu"); //RegistrationInsertionPoint - do not remove this line Application().LogMessage(in_reg.GetName() + L" is loading.",siVerboseMsg); return CStatus::OK; }
SICALLBACK XSILoadPlugin_2( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"Exocortex Technologies, Inc."); in_reg.PutName(L"HeavyLoadTest"); in_reg.PutVersion(1,0); in_reg.RegisterCommand(L"exocortex_run_test",L"exocortex_run_test"); in_reg.RegisterOperator(L"exocortex_nop"); in_reg.RegisterMenu(siMenuMainFileProjectID,L"exocortex_RunTest",false,false); return CStatus::OK; }
CStatus RegisterToonixMesher( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"ToonixMesher",L"ToonixMesher"); CStatus st; st = nodeDef.PutColor(ToonixNodeR,ToonixNodeG,ToonixNodeB); st.AssertSucceeded( ) ; st = nodeDef.PutThreadingModel(siICENodeSingleThreading); st.AssertSucceeded( ) ; // Add custom types definition. st = nodeDef.DefineCustomType(L"ToonixLine",L"ToonixLine",L"ToonixLine",ToonixLineR,ToonixLineG,ToonixLineB); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(ID_G_100); st.AssertSucceeded( ) ; CStringArray ToonixLineCustomType(1); ToonixLineCustomType[0] = L"ToonixLine"; st = nodeDef.AddInputPort(ID_IN_ToonixLine,ID_G_100,ToonixLineCustomType,siICENodeStructureSingle,siICENodeContextSingleton,L"ToonixLine",L"ToonixLine",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_Subdiv,ID_G_100,siICENodeDataLong,siICENodeStructureSingle,siICENodeContextSingleton,L"Subdivisions",L"Subdivisions",6); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(ID_IN_ViewPosition,ID_G_100,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextSingleton,L"ViewPosition",L"ViewPosition"); st.AssertSucceeded( ) ; // Add output ports. st = nodeDef.AddOutputPort(ID_OUT_Vertices,siICENodeDataVector3,siICENodeStructureArray,siICENodeContextSingleton,L"Vertices",L"Vertices",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(ID_OUT_Polygons,siICENodeDataLong,siICENodeStructureArray,siICENodeContextSingleton,L"Polygons",L"Polygons",ID_UNDEF,ID_UNDEF,ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Toonix"); return CStatus::OK; }
XSIPLUGINCALLBACK CStatus XSILoadPlugin( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"Morten Nobel-Joergensen / Vaida Laganeckiene"); in_reg.PutName(L"WebGL Export Plug-in"); in_reg.PutVersion(1,0); // Register commands for importing and exporting a polygon mesh in_reg.RegisterCommand(L"WebGLExportScene"); // Install a top-level menu for the import/export tool in_reg.RegisterMenu(siMenuMainTopLevelID, L"WebGL Export", false,false); // Register a custom property to use as the import/export UI in_reg.RegisterProperty(L"WebGLExportProp"); return CStatus::OK; }
CStatus Register_nest_LatticeNode( PluginRegistrar& in_reg ) { ICENodeDef nodeDef; nodeDef = Application().GetFactory().CreateICENodeDef(L"nest_LatticeDeform"); CStatus st; st = nodeDef.PutThreadingModel(XSI::siICENodeMultiThreading); st.AssertSucceeded( ) ; // Add input ports and groups. st = nodeDef.AddPortGroup(Lattice_ID_G_100); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Lattice_ID_IN_Point,Lattice_ID_G_100,siICENodeDataVector3,siICENodeStructureAny,siICENodeContextAny,L"Point",L"Point",CVector3f(0,0,0),Lattice_ID_UNDEF,Lattice_ID_STRUCT_CNS,Lattice_ID_CTXT_CNS); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Lattice_ID_IN_Subdivision,Lattice_ID_G_100,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextSingleton,L"Subdivision",L"Subdivision",CVector3f(1,1,1),Lattice_ID_UNDEF,Lattice_ID_UNDEF,Lattice_ID_UNDEF); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Lattice_ID_IN_Step,Lattice_ID_G_100,siICENodeDataVector3,siICENodeStructureSingle,siICENodeContextSingleton,L"Step",L"Step",CVector3f(1,1,1),Lattice_ID_UNDEF,Lattice_ID_UNDEF,Lattice_ID_UNDEF); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Lattice_ID_IN_Reference,Lattice_ID_G_100,siICENodeDataVector3,siICENodeStructureArray,siICENodeContextSingleton,L"References",L"References",CVector3f(1,1,1),Lattice_ID_UNDEF,Lattice_ID_UNDEF,Lattice_ID_UNDEF); st.AssertSucceeded( ) ; st = nodeDef.AddInputPort(Lattice_ID_IN_Current,Lattice_ID_G_100,siICENodeDataVector3,siICENodeStructureArray,siICENodeContextSingleton,L"Currents",L"Currents",CVector3f(1,1,1),Lattice_ID_UNDEF,Lattice_ID_UNDEF,Lattice_ID_UNDEF); st.AssertSucceeded( ) ; // Add output ports and groups. st = nodeDef.AddPortGroup(Lattice_ID_G_300); st.AssertSucceeded( ) ; st = nodeDef.AddOutputPort(Lattice_ID_OUT_Result,Lattice_ID_G_300,siICENodeDataVector3,siICENodeStructureAny,siICENodeContextAny,L"Deform",L"Deform",Lattice_ID_UNDEF,Lattice_ID_STRUCT_CNS,Lattice_ID_CTXT_CNS); st.AssertSucceeded( ) ; PluginItem nodeItem = in_reg.RegisterICENode(nodeDef); nodeItem.PutCategories(L"Custom ICENode"); return CStatus::OK; }
SICALLBACK XSILoadPlugin(PluginRegistrar& in_reg) { in_reg.PutAuthor(L"Exocortex Technologies, Inc and Helge Mathee"); in_reg.PutName(L"ExocortexAlembicSoftimage"); in_reg.PutEmail(L"*****@*****.**"); in_reg.PutURL(L"http://www.exocortex.com/alembic"); // sync the softimage plugin version with the Crate version --------------- // soft_MAJOR <-- combination of crate_MAJOR and crate_MINOR // soft_MINOR <-- crate_BUILD // (e.g. Crate version 1.1.134 resolves to Soft plugin version // 11.134) long digits = 1; long pten = 10; while (pten <= crate_MINOR_VERSION) { pten *= 10; digits++; } long soft_MAJOR = PLUGIN_MAJOR_VERSION * (long)(pow(10.0, digits)) + PLUGIN_MINOR_VERSION; in_reg.PutVersion(soft_MAJOR, crate_BUILD_VERSION); // moved into Application/Plugins/ExocortexAlembicSoftimage_UI.py // -------------------------------------------------------------- // in_reg.RegisterMenu(siMenuMainFileExportID,L"alembic_MenuExport",false,false); // in_reg.RegisterMenu(siMenuMainFileImportID,L"alembic_MenuImport",false,false); // in_reg.RegisterMenu(siMenuMainFileProjectID,L"alembic_MenuPathManager",false,false); // in_reg.RegisterMenu(siMenuMainFileProjectID,L"alembic_ProfileStats",false,false); // in_reg.RegisterMenu(siMenuTbGetPropertyID,L"alembic_MenuMetaData",false,false); in_reg.RegisterCommand(L"alembic_export", L"alembic_export"); in_reg.RegisterCommand(L"alembic_export_jobs", L"alembic_export_jobs"); in_reg.RegisterProperty(L"alembic_export_settings"); in_reg.RegisterCommand(L"alembic_import", L"alembic_import"); in_reg.RegisterCommand(L"alembic_import_jobs", L"alembic_import_jobs"); in_reg.RegisterCommand(L"alembic_attach_metadata", L"alembic_attach_metadata"); in_reg.RegisterCommand(L"alembic_create_item", L"alembic_create_item"); in_reg.RegisterCommand(L"alembic_path_manager", L"alembic_path_manager"); in_reg.RegisterCommand(L"alembic_profile_stats", L"alembic_profile_stats"); in_reg.RegisterCommand(L"alembic_get_nodes", L"alembic_get_nodes"); in_reg.RegisterCommand(L"alembic_get_paths", L"alembic_get_paths"); in_reg.RegisterCommand(L"alembic_replace_path", L"alembic_replace_path"); in_reg.RegisterOperator(L"alembic_xform"); in_reg.RegisterOperator(L"alembic_camera"); in_reg.RegisterOperator(L"alembic_polymesh"); in_reg.RegisterOperator(L"alembic_polymesh_topo"); in_reg.RegisterOperator(L"alembic_nurbs"); in_reg.RegisterOperator(L"alembic_bbox"); in_reg.RegisterOperator(L"alembic_normals"); in_reg.RegisterOperator(L"alembic_uvs"); in_reg.RegisterOperator(L"alembic_crvlist"); in_reg.RegisterOperator(L"alembic_crvlist_topo"); in_reg.RegisterOperator(L"alembic_visibility"); in_reg.RegisterOperator(L"alembic_geomapprox"); in_reg.RegisterOperator(L"alembic_standinop"); in_reg.RegisterProperty(L"alembic_import_settings"); in_reg.RegisterProperty(L"alembic_timecontrol"); in_reg.RegisterProperty(L"alembic_metadata"); // register ICE nodes Register_alembic_curves(in_reg); Register_alembic_points(in_reg); Register_alembic_polyMesh(in_reg); Register_alembic_string_array(in_reg); Register_alembic_float_array(in_reg); Register_alembic_vec2f_array(in_reg); Register_alembic_vec3f_array(in_reg); Register_alembic_vec4f_array(in_reg); Register_alembic_int_array(in_reg); // XSILoadPlugin_2( in_reg ); // register events in_reg.RegisterEvent(L"alembic_OnCloseScene", siOnCloseScene); ESS_LOG_INFO("PLUGIN loaded"); return CStatus::OK; }
/////////////////////////////////////////////////////////////// // XSI LOAD / UNLOAD PLUGIN /////////////////////////////////////////////////////////////// XSIPLUGINCALLBACK CStatus XSILoadPlugin( PluginRegistrar& in_reg ) { in_reg.PutAuthor(L"Helge Mathee, Jeremie Passerin"); in_reg.PutName(L"sn_RigSolvers"); in_reg.PutEmail(L"*****@*****.**"); in_reg.PutURL(L"http://opensource.studionestbarcelona.com"); in_reg.PutVersion(2,0); // register all of the solvers // sn_spring_op.cpp in_reg.RegisterOperator(L"sn_xfspring_op"); in_reg.RegisterOperator(L"sn_rotspring_op"); // sn_ikfk2bone_op.cpp in_reg.RegisterOperator(L"sn_ik2bone_op"); in_reg.RegisterOperator(L"sn_ikfk2bone_op"); in_reg.RegisterOperator(L"sn_interLocalOri_op"); // sn_stretchchain_op.cpp in_reg.RegisterOperator(L"sn_stretchChain_op"); in_reg.RegisterOperator(L"sn_stretchChainMulti_op"); // sn_splinekine_op.cpp in_reg.RegisterOperator(L"sn_splinekine_op"); in_reg.RegisterOperator(L"sn_rollsplinekine_op"); // sn_curveslide_op.cpp in_reg.RegisterOperator(L"sn_curveslide_op"); in_reg.RegisterOperator(L"sn_curveslide2_op"); // sn_null2curve_op.cpp in_reg.RegisterOperator(L"sn_null2curve_op"); in_reg.RegisterOperator(L"sn_null2surface_op"); // sn_squashstretch_op.cpp in_reg.RegisterOperator(L"sn_squashstretch_op"); in_reg.RegisterOperator(L"sn_squashstretch2_op"); in_reg.RegisterOperator(L"sn_curvelength_op"); // sn_iso4point_op.cpp in_reg.RegisterOperator(L"sn_iso4point_op"); // sn_interpose_op.cpp in_reg.RegisterOperator(L"sn_interpose_op"); // sn_slerp_op.cpp in_reg.RegisterOperator(L"sn_slerp_op"); // sn_inverseRotorder_op in_reg.RegisterOperator(L"sn_inverseRotorder_op"); // in_reg.RegisterOperator(L"sn_mouthinterpose_op"); // register all of the properties in_reg.RegisterProperty(L"sn_squashstretch_prop"); return CStatus::OK; }