本文整理汇总了C++中ogre::SceneNode::getCreator方法的典型用法代码示例。如果您正苦于以下问题:C++ SceneNode::getCreator方法的具体用法?C++ SceneNode::getCreator怎么用?C++ SceneNode::getCreator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::SceneNode
的用法示例。
在下文中一共展示了SceneNode::getCreator方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: destroyTerrainLiquid
//-----------------------------------------------------------------------
void TerrainLiquidObject::destroyTerrainLiquid(void)
{
_deleteRenderTextureRelative();
assert(mTerrainLiquid);
Ogre::SceneNode* parent = mTerrainLiquid->getParentSceneNode();
assert(parent);
if (!mProjectionMaterial.isNull())
{
Ogre::MaterialManager::getSingleton().remove(mProjectionMaterial->getHandle());
mProjectionMaterial.setNull();
}
if (mProjectionCamera)
{
parent->getCreator()->destroyCamera(mProjectionCamera);
mProjectionCamera = 0;
}
parent->getCreator()->destroySceneNode(parent);
parent = NULL;
delete mTerrainLiquid;
mTerrainLiquid = NULL;
}
示例2:
/**
* @brief Dtor.
*/
~EntityPointMarker()
{
if (mMarkerEntity) {
mMarkerEntity->_getManager()->destroyEntity(mMarkerEntity);
}
if (mMarkerNode) {
mMarkerNode->getCreator()->destroySceneNode(mMarkerNode);
}
delete mMarkerDirectionIndicator;
}
示例3: createActor
//-----------------------------------------------------------------------
void ActorObject::createActor(void)
{
assert(!mActor);
assert(mProxy && !mActorName.empty());
Ogre::SceneNode* parent = getSceneNode();
assert(parent);
Ogre::SceneManager* creator = parent->getCreator();
assert(creator);
mActor = new Actor(mSystem, parent->getName(), mActorName, parent);
mActor->setUserObject(mProxy);
}
示例4: _destroyBillboardSet
//---------------------------------------------------------------------
void BillboardSetElement::_destroyBillboardSet(void)
{
if (mBillboardSet)
{
Ogre::SceneNode* parent = mBillboardSet->getParentSceneNode();
assert(parent);
Ogre::SceneManager* creator = parent->getCreator();
assert(creator);
parent->detachObject(mBillboardSet->getName());
creator->destroyBillboardSet(mBillboardSet);
}
}
示例5: displayGeometryVisualization
void AuthoringManager::displayGeometryVisualization(EmberEntity& entity) {
if (!mGeometryVisualizations.count(&entity)) {
Ogre::SceneNode* node = mWorld.getScene().getSceneManager().getRootSceneNode()->createChildSceneNode();
GeometryVisualization* vis(nullptr);
try {
vis = new GeometryVisualization(entity, node);
} catch (const std::exception& ex) {
S_LOG_WARNING("Error when displaying geometry." << ex);
//just delete the node and return
node->getCreator()->destroySceneNode(node);
return;
}
sigc::connection conn = entity.BeingDeleted.connect([&]() {hideGeometryVisualization(entity); });
mGeometryVisualizations.insert(std::make_pair(&entity, std::make_pair(vis, conn)));
}
}
示例6: displaySimpleEntityVisualization
void AuthoringManager::displaySimpleEntityVisualization(EmberEntity& entity)
{
if (!mSimpleVisualizations.count(&entity)) {
Ogre::SceneNode* node = mWorld.getScene().getSceneManager().getRootSceneNode()->createChildSceneNode();
SimpleEntityVisualization* vis(0);
try {
vis = new SimpleEntityVisualization(entity, node);
} catch (const std::exception& ex) {
//just delete the node and return
node->getCreator()->destroySceneNode(node);
return;
}
sigc::connection conn = entity.BeingDeleted.connect(sigc::bind(sigc::mem_fun(*this, &AuthoringManager::simpleEntityVisualizationBeingDeleted), &entity));
mSimpleVisualizations.insert(SimpleEntityVisualizationStore::value_type(&entity, std::make_pair(vis, conn)));
}
}
示例7: createParticleSystem
//-----------------------------------------------------------------------
void ParticleSystemObject::createParticleSystem(void)
{
assert( mParticleSystem == NULL );
assert(!mParticleSystemName.empty());
Ogre::SceneNode* parent = getSceneNode();
if (parent)
{
mParticleSystem = parent->getCreator()->createParticleSystem( parent->getName(), mParticleSystemName );
assert(mParticleSystem);
// Set render queue for particle system, the particle system should be render after world geometry 2
mParticleSystem->setRenderQueueGroup(Ogre::RENDER_QUEUE_8);
parent->attachObject(mParticleSystem);
}
}
示例8: modifyMesh
//-----------------------------------------------------------------------
void MeshParticleVisualData::modifyMesh(const String &meshName)
{
// destroy old entity
assert(mEntity);
Ogre::SceneNode* parent = mEntity->getParentSceneNode();
assert(parent);
Ogre::SceneManager* creator = parent->getCreator();
assert(creator);
parent->detachObject(mEntity->getName());
creator->destroyMovableObject(mEntity);
mEntity = NULL;
// create new entity
mEntity = creator->createEntity( mSceneNode->getName(), meshName );
assert (mEntity);
mSceneNode->attachObject(mEntity);
}
示例9: _destroyProjector
void DisableDecalGrids::_destroyProjector(void)
{
if (mProjector)
{
Ogre::SceneNode* parent = mProjector->getParentSceneNode();
assert(parent);
Ogre::SceneManager* creator = parent->getCreator();
assert(creator);
assert (parent == mProjectorNode);
parent->detachObject(mProjector->getName());
getSceneManipulator()->getSceneManager()->destroyMovableObject(mProjector);
mProjector = NULL;
if (mProjectorNode)
{
getSceneManager()->destroySceneNode(mProjectorNode);
mProjectorNode = NULL;
}
}
}