本文整理汇总了C++中Application::GetPlugins方法的典型用法代码示例。如果您正苦于以下问题:C++ Application::GetPlugins方法的具体用法?C++ Application::GetPlugins怎么用?C++ Application::GetPlugins使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Application
的用法示例。
在下文中一共展示了Application::GetPlugins方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AppLink_3DCoat_DefineLayout
SICALLBACK AppLink_3DCoat_DefineLayout( CRef& in_ctxt )
{
Context ctxt(in_ctxt);
PPGLayout ppg = ctxt.GetSource();
PPGItem item;
Plugin pl(app.GetPlugins().GetItem(L"AppLink_3DCoat_Plugin"));
CString logoPath = CUtils::BuildPath(app.GetInstallationPath(pl.GetOrigin()), L"AppLink_3DCoat", L"Application", L"Plugins", L"3dcoatLogo.bmp");
CString txt = L"*Select folder ..\\My Documents\\3D-CoatV3\\Exchange";
ppg.Clear();
ppg.AddTab(L"General");
item = ppg.AddItem(L"Logo",L"", siControlBitmap);
item.PutAttribute(siUIFilePath, logoPath);
item.PutAttribute(siUINoLabel, true);
ppg.AddGroup(L"Locations");
item = ppg.AddItem( L"tempLocation", L"", siControlFilePath );
//item.PutAttribute( siUIInitialDir, L"project" ) ;
//item.PutAttribute( siUIFileFilter, L"3D files (*.obj,*.lwo)|*.obj,*.lwo|All Files (*.*)|*.*||" ) ;
item = ppg.AddItem( L"coatLocation", L"", siControlFolder ) ;
item.PutAttribute( siUIInitialDir, L"user" ) ;
ppg.AddStaticText(txt.GetAsciiString());
//item = ppg.AddItem( L"coatExe", L"", siControlFilePath);
//item.PutAttribute( siUIInitialDir, L"user" );
//item.PutAttribute( siUIFileFilter, L"Exe files (*.exe)|*.exe|All Files (*.*)|*.*||" ) ;
ppg.EndGroup();
//Paint mesh in 3D-Coat using per-pixel painting [ppp]
//Paint mesh in 3D-Coat using microvertex painting [mv]
//Paint mesh in 3D-Coat using Ptex [ptex]
//Perform UV-mapping in 3D-Coat [uv]
//Drop reference mesh to 3D-Coat [ref]
//Drop retopo mesh as new layer in 3D-Coat [retopo]
//Drop mesh in 3D-Coat as voxel object [vox]
//Drop mesh in 3D-Coat as new pen alpha [alpha]
//Drop mesh in 3D-Coat as new merging primitive for voxels [prim]
//Drop mesh in 3D-Coat as a curve profile [curv]
//Drop mesh in 3D-Coat for Auto-retopology [autopo]
ppg.AddGroup(L"Export");
CValueArray sizeItems( 22 ) ;
sizeItems[0] = L"Per-pixel painting"; sizeItems[1] = (LONG)0 ;
sizeItems[2] = L"Microvertex painting"; sizeItems[3] = (LONG)1 ;
sizeItems[4] = L"Ptex"; sizeItems[5] = (LONG)2 ;
sizeItems[6] = L"Perform UV-mapping"; sizeItems[7] = (LONG)3 ;
sizeItems[8] = L"Drop reference mesh"; sizeItems[9] = (LONG)4 ;
sizeItems[10] = L"Drop retopo mesh as new layer"; sizeItems[11] = (LONG)5 ;
sizeItems[12] = L"Drop mesh as voxel object"; sizeItems[13] = (LONG)6 ;
sizeItems[14] = L"Drop mesh as new pen alpha"; sizeItems[15] = (LONG)7 ;
sizeItems[16] = L"Drop mesh as new merging primitive for voxels"; sizeItems[17] = (LONG)8 ;
sizeItems[18] = L"Drop mesh as a curve profile"; sizeItems[19] = (LONG)9 ;
sizeItems[20] = L"Drop mesh for Auto-retopology"; sizeItems[21] = (LONG)10 ;
ppg.AddEnumControl( L"typePaint", sizeItems, L"", siControlCombo ) ;
ppg.AddItem(L"bExpNorm");
ppg.AddItem(L"bExpMat");
ppg.AddItem(L"bExpUV");
ppg.AddItem(L"bExpSkipImp");
ppg.AddItem(L"bExpSkipExp");
//ppg.AddItem(L"bCopyTexE");
item = ppg.AddButton( L"Coat3DExport", L"Export to 3DCoat" );
item.PutAttribute(siUICX, (LONG)ppg.GetAttribute(siUICX));
ppg.EndGroup();
ppg.AddGroup(L"Import");
ppg.AddItem(L"bImpNorm");
ppg.AddItem(L"bImpMat");
CValueArray sizeItems2( 4 );
sizeItems2[0] = L"Normal map"; sizeItems2[1] = (LONG)0 ;
sizeItems2[2] = L"Bump map"; sizeItems2[3] = (LONG)1 ;
ppg.AddEnumControl( L"swMap", sizeItems2, L"", siControlCombo ) ;
ppg.AddItem(L"bImpUV");
ppg.AddRow();
ppg.AddItem(L"bReplace");
ppg.AddItem(L"bEvent");
ppg.EndRow();
//ppg.AddItem(L"bCopyTexI");
item = ppg.AddButton( L"Coat3DImport", L"Import from 3DCoat" );
item.PutAttribute(siUICX, (LONG)ppg.GetAttribute(siUICX));
ppg.EndGroup();
ppg.AddTab(L"3D-Coat Location");
item = ppg.AddItem( L"exeLocation", L"", siControlFilePath );
item.PutAttribute( siUIFileFilter, L"Exe files (*.exe)|*.exe|All Files (*.*)|*.*||" );
item.PutAttribute( siUIOpenFile, true );
ppg.AddItem(L"bStart");
return CStatus::OK;
}
示例2: AppLink_3DCoat_PPGEvent
SICALLBACK AppLink_3DCoat_PPGEvent( const CRef& in_ctxt )
{
//Application app;
PPGEventContext ctxt( in_ctxt ) ;
CustomProperty prop = ctxt.GetSource();
PPGEventContext::PPGEvent eventID = ctxt.GetEventID() ;
//CString s_ExeLocation = prop.GetParameter(L"coatExe").GetValue();
if ( eventID == PPGEventContext::siOnInit )
{
CString s_ExportLocation = prop.GetParameter(L"tempLocation").GetValue();
CString s_CoatLocation = prop.GetParameter(L"coatLocation").GetValue();
Plugin pl(app.GetPlugins().GetItem(L"AppLink_3DCoat_Plugin"));
pluginPath = CUtils::BuildPath(app.GetInstallationPath(pl.GetOrigin()), L"AppLink_3DCoat", L"Application", L"Plugins");
if(prop.GetParameter(L"tempLocation").GetValue() == L"")
{
Project prj = app.GetActiveProject();
Scene scn = prj.GetActiveScene();
CString tempPath = CUtils::BuildPath(app.GetInstallationPath(siProjectPath), L"3DCoat", scn.GetName(), scn.GetName() + L".obj");
prop.GetParameter(L"tempLocation").PutValue(tempPath);
prop.GetParameter(L"tempLocation").PutCapabilityFlag(siReadOnly, true);
}
if(prop.GetParameter(L"coatLocation").GetValue() == L"")
{
TCHAR Path[MAX_PATH];
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, Path)))
{
CString exchPath = CUtils::BuildPath(Path, L"3D-CoatV3", L"Exchange");
prop.GetParameter(L"coatLocation").PutValue(exchPath);
}
}
//prop.GetParameter(L"bImpNorm").PutCapabilityFlag(siNotInspectable, true);
//prop.GetParameter(L"bImpNewMat").PutCapabilityFlag(siReadOnly, true);
ctxt.PutAttribute(L"Refresh",true);
}
else if ( eventID == PPGEventContext::siButtonClicked )
{
CValue buttonPressed = ctxt.GetAttribute( L"Button" );
CString tempLocation = prop.GetParameter(L"tempLocation").GetValue();
CString coatLocation = prop.GetParameter(L"coatLocation").GetValue();
if( buttonPressed.GetAsText() == L"Coat3DExport" )
{
CustomProperty in_pset = ctxt.GetSource();
if(CUtils::EnsureFolderExists(tempLocation, true))
{
CValueArray args(6);
args[0] = tempLocation;
args[1] = coatLocation;
args[2] = in_pset.GetParameterValue( L"typePaint" );
//args[3] = in_pset.GetParameterValue( L"bCopyTexE" );
args[3] = in_pset.GetParameterValue( L"bExpMat" );
args[4] = in_pset.GetParameterValue( L"bExpUV" );
args[5] = in_pset.GetParameterValue( L"bExpNorm" );
CValue retVal;
app.ExecuteCommand( L"Coat3DExport", args, retVal );
CString exeLocation = prop.GetParameter(L"exeLocation").GetValue();
bool bStart = prop.GetParameter(L"bStart").GetValue();
if(exeLocation != L"" && bStart)
{
if(!Find3DCoat())
{
if((int)::ShellExecute(NULL, TEXT("open"), exeLocation.GetAsciiString(), NULL, NULL, SW_SHOWNORMAL) <= 32)
{
app.LogMessage(L"3D-Coat.exe not found!", siWarningMsg);
}
}
else
{
app.LogMessage(L"3D-Coat.exe is run!", siWarningMsg);
}
}
}
else
{
app.LogMessage(L"Note temp path exists!", siErrorMsg);
}
}
else if( buttonPressed.GetAsText() == L"Coat3DImport" )
{
CustomProperty in_pset = ctxt.GetSource();
CString exportPath = CUtils::BuildPath(coatLocation, L"export.txt");
CString objPath;
std::ifstream mfrExportTxt;
mfrExportTxt.open (exportPath.GetAsciiString());//c:\Documents and Settings\user\My Documents\3D-CoatV3\Exchange\export.txt
//.........这里部分代码省略.........