本文整理汇总了C++中fcfiletype::FCPtrStore::insert方法的典型用法代码示例。如果您正苦于以下问题:C++ FCPtrStore::insert方法的具体用法?C++ FCPtrStore::insert怎么用?C++ FCPtrStore::insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fcfiletype::FCPtrStore
的用法示例。
在下文中一共展示了FCPtrStore::insert方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleTreeNodeExport
void handleTreeNodeExport(ActionEventDetails* const details,
Tree* const editorTree)
{
boost::any SelectedComp(editorTree->getLastSelectedPathComponent());
//Get the tree selection
try
{
FieldContainerTreeModel::ContainerFieldIdPair ThePair(boost::any_cast<FieldContainerTreeModel::ContainerFieldIdPair>(SelectedComp));
if(ThePair._FieldID == 0 &&
ThePair._Container != NULL)
{
std::vector<WindowEventProducer::FileDialogFilter> ExportFileFilters;
ExportFileFilters.push_back(WindowEventProducer::FileDialogFilter("Field Container File","xml"));
ExportFileFilters.push_back(WindowEventProducer::FileDialogFilter("All Files","*"));
//Export File
BoostPath InitialFilePath("./Export.xml");
WindowEventProducer* MainWindow(editorTree->getParentWindow()->getParentDrawingSurface()->getEventProducer());
BoostPath ExportFilePath;
ExportFilePath =MainWindow->saveFileDialog("Save Field Container",
ExportFileFilters,
InitialFilePath.filename(),
InitialFilePath.parent_path(),
true);
if(!ExportFilePath.empty())
{
if(ExportFilePath.extension().empty())
{
ExportFilePath = ExportFilePath.string() + ".xml";
}
FCFileType::FCPtrStore Containers;
Containers.insert(ThePair._Container);
FCFileType::FCTypeVector IgnoreTypes;
FCFileHandler::the()->write(Containers,ExportFilePath,IgnoreTypes);
}
}
}
catch(boost::bad_any_cast &ex)
{
SWARNING << ex.what() << std::endl;
}
}
示例2: main
//.........这里部分代码省略.........
Vec3f(1.0,1.0,1.0),
-1,
Vec3f(0.0,0.0,0.0),
Vec3f(0.0,0.0,0.0));
ExampleParticleSystem->addParticle(Pnt3f(40.0,0.0,0.0),
Vec3f(0.0,1.0,0.0),
Color4f(1.0,1.0,1.0,1.0),
Vec3f(1.0,1.0,1.0),
-1,
Vec3f(0.0,0.0,0.0),
Vec3f(0.0,0.0,0.0));
PointParticleSystemDrawerRecPtr ExamplePointParticleSystemDrawer = PointParticleSystemDrawer::create();
ExamplePointParticleSystemDrawer->setForcePerParticleSizing(false);
Matrix ExampleMatrix;
ExampleMatrix.setTransform(Vec3f(10.0,10.0,10.0));
TransformRefPtr ExampleXform = Transform::create();
ExampleXform->setMatrix(ExampleMatrix);
NodeRefPtr ExampleNode = Node::create();
ExampleNode->setCore(ExampleXform);
RateParticleGeneratorRecPtr ExampleGenerator = RateParticleGenerator::create();
// ExampleGenerator->setEmitInWorldSpace(true);
ExampleGenerator->setBeacon(ExampleNode);
ExampleGenerator->setGenerationRate(5.0);
ExampleGenerator->setPositionDistribution(createPositionDistribution());
ExampleGenerator->setLifespanDistribution(createLifespanDistribution());
NewtonParticleAffectorRefPtr ExampleAffector = NewtonParticleAffector::create();
ExampleAffector->setBeacon(ExampleNode);
ExampleAffector->setMaxDistance(-1.0);
ConditionalParticleAffectorRecPtr ExampleConditionalAffector = ConditionalParticleAffector::create();
ExampleConditionalAffector->setConditionalAttribute("active");
ExampleConditionalAffector->setConditionalOperator(4); //greater than
ExampleConditionalAffector->setConditionalValue(0); // testing if the value associated with "test" = 1
ExampleConditionalAffector->pushToAffectors(ExampleAffector);
DistanceAttractRepelParticleAffectorRefPtr ExampleAttractRepelAffector = DistanceAttractRepelParticleAffector::create();
ExampleAttractRepelAffector->setDistanceFromSource(DistanceParticleAffector::DISTANCE_FROM_NODE);
//Attach the Generators and affectors to the Particle System
ExampleParticleSystem->setBeacon(ExampleNode);
//ExampleParticleSystem->pushToGenerators(ExampleGenerator);
ExampleParticleSystem->pushToAffectors(ExampleConditionalAffector);
// ExampleParticleSystem->pushToAffectors(ExampleAttractRepelAffector);
ExampleParticleSystem->setMaxParticles(1000);
ExampleParticleSystem->setDynamic(true);
//Particle System Core
ParticleSystemCoreRecPtr ParticleNodeCore = ParticleSystemCore::create();
ParticleNodeCore->setSystem(ExampleParticleSystem);
ParticleNodeCore->setDrawer(ExamplePointParticleSystemDrawer);
ParticleNodeCore->setMaterial(PSMaterial);
ParticleNodeCore->setSortingMode(ParticleSystemCore::BACK_TO_FRONT);
NodeRefPtr PSNode = Node::create();
PSNode->setCore(ParticleNodeCore);
// Make Main Scene Node and add the Torus
NodeRefPtr scene = Node::create();
scene->setCore(Group::create());
scene->addChild(PSNode);
TutorialWindow->connectKeyTyped(boost::bind(keyTyped, _1, &sceneManager,
ParticleNodeCore.get(),
ExamplePointParticleSystemDrawer.get(),
ExampleParticleSystem.get(),
ExampleConditionalAffector.get()));
sceneManager.setRoot(scene);
// Show the whole Scene
sceneManager.showAll();
sceneManager.getCamera()->setFar(1000.0);
sceneManager.getCamera()->setNear(0.10);
FCFileType::FCPtrStore Containers;
Containers.insert(scene);
//Open Window
Vec2f WinSize(TutorialWindow->getDesktopSize() * 0.85f);
Pnt2f WinPos((TutorialWindow->getDesktopSize() - WinSize) *0.5);
TutorialWindow->openWindow(WinPos,
WinSize,
"16FullTest");
//Enter main Loop
TutorialWindow->mainLoop();
}
osgExit();
return 0;
}
示例3: main
//.........这里部分代码省略.........
ExampleSkeleton->addJointBlending(36,RightHand,1.0f);
ExampleSkeleton->addJointBlending(37,RightHand,1.0f);
ExampleSkeleton->addJointBlending(38,RightFingers,1.0f);
ExampleSkeleton->addJointBlending(39,RightFingers,1.0f);
//Left Hip
ExampleSkeleton->addJointBlending(40,Pelvis,1.0f);
ExampleSkeleton->addJointBlending(41,Pelvis,1.0f);
ExampleSkeleton->addJointBlending(42,LeftHip,1.0f);
ExampleSkeleton->addJointBlending(43,LeftHip,1.0f);
//Left Femur
ExampleSkeleton->addJointBlending(44,LeftHip,1.0f);
ExampleSkeleton->addJointBlending(45,LeftHip,1.0f);
ExampleSkeleton->addJointBlending(46,LeftKnee,1.0f);
ExampleSkeleton->addJointBlending(47,LeftKnee,1.0f);
//Left Tibia
ExampleSkeleton->addJointBlending(48,LeftKnee,1.0f);
ExampleSkeleton->addJointBlending(49,LeftKnee,1.0f);
ExampleSkeleton->addJointBlending(50,LeftFoot,1.0f);
ExampleSkeleton->addJointBlending(51,LeftFoot,1.0f);
//Left Foot
ExampleSkeleton->addJointBlending(52,LeftFoot,1.0f);
ExampleSkeleton->addJointBlending(53,LeftFoot,1.0f);
ExampleSkeleton->addJointBlending(54,LeftToes,1.0f);
ExampleSkeleton->addJointBlending(55,LeftToes,1.0f);
//Right Hip
ExampleSkeleton->addJointBlending(56,Pelvis,1.0f);
ExampleSkeleton->addJointBlending(57,Pelvis,1.0f);
ExampleSkeleton->addJointBlending(58,RightHip,1.0f);
ExampleSkeleton->addJointBlending(59,RightHip,1.0f);
//Right Femur
ExampleSkeleton->addJointBlending(60,RightHip,1.0f);
ExampleSkeleton->addJointBlending(61,RightHip,1.0f);
ExampleSkeleton->addJointBlending(62,RightKnee,1.0f);
ExampleSkeleton->addJointBlending(63,RightKnee,1.0f);
//Right Tibia
ExampleSkeleton->addJointBlending(64,RightKnee,1.0f);
ExampleSkeleton->addJointBlending(65,RightKnee,1.0f);
ExampleSkeleton->addJointBlending(66,RightFoot,1.0f);
ExampleSkeleton->addJointBlending(67,RightFoot,1.0f);
//Right Foot
ExampleSkeleton->addJointBlending(68,RightFoot,1.0f);
ExampleSkeleton->addJointBlending(69,RightFoot,1.0f);
ExampleSkeleton->addJointBlending(70,RightToes,1.0f);
ExampleSkeleton->addJointBlending(71,RightToes,1.0f);
MeshNode = Node::create();
MeshNode->setCore(ExampleSkeleton);
//Create scene node
NodeUnrecPtr scene = Node::create();
scene->setCore(Group::create());
scene->addChild(UnboundGeometry);
scene->addChild(SkeletonNode);
scene->addChild(MeshNode);
mgr->setRoot(scene);
//Setup the Animation
setupAnimation();
//Save to an xml file
FCFileType::FCPtrStore Containers;
Containers.insert(ExampleSkeleton);
Containers.insert(PelvisNode);
Containers.insert(TheSkeletonAnimation);
//Use an empty Ignore types vector
FCFileType::FCTypeVector IgnoreTypes;
//IgnoreTypes.push_back(Node::getClassType().getId());
//Write the Field Containers to a xml file
FCFileHandler::the()->write(Containers,BoostPath("./13Output.xml"),IgnoreTypes);
// Show the whole Scene
mgr->showAll();
//Open Window
Vec2f WinSize(TutorialWindow->getDesktopSize() * 0.85f);
Pnt2f WinPos((TutorialWindow->getDesktopSize() - WinSize) *0.5);
TutorialWindow->openWindow(WinPos,
WinSize,
"13MeshBlending");
//Main Loop
TutorialWindow->mainLoop();
osgExit();
return 0;
}