Пример #1
0
void Light::leaveScene() {
    getSceneNode()->detachObject(light);
    getScene()->getSceneManager()->destroyLight(light);
    light = nullptr;

    VisualComponent::leaveScene();
}
void moveit_rviz_plugin::PerLinkSubObjBase::changed()
{
  shapes_.reset();
  centers_.clear();
  radii_.clear();

  if (!getBool())
    return;

  getGeom(robot_relative_, centers_, radii_);

  if (centers_.empty())
    return;

  shapes_.reset(new ShapesDisplay(getSceneNode(), base_->getColor(), base_->getSize()));

  if (centers_.size() == radii_.size() || radii_.size() == 1)
  {
    shapes_->addSpheres(centers_, radii_);
    base_->setStyle(PerLinkObjBase::SPHERES);
  }
  else if (base_->getStyle() == PerLinkObjBase::SPHERES)
  {
    shapes_->addSpheres(centers_, base_->getSize() * 0.5);
  }
  else
  {
    shapes_->addPoints(centers_);
  }
}
Пример #3
0
//==============================================================================
void AnimationEvent::update(F32 prevUpdateTime, F32 crntTime)
{
	ANKI_ASSERT(getSceneNode());
	MoveComponent& move = getSceneNode()->getComponent<MoveComponent>();

	Vec3 pos;
	Quat rot;
	F32 scale = 1.0;
	m_anim->interpolate(0, crntTime, pos, rot, scale);

	Transform trf;
	trf.setOrigin(pos.xyz0());
	trf.setRotation(Mat3x4(rot));
	trf.setScale(scale);
	move.setLocalTransform(trf);
}
Пример #4
0
void Camera::onDetachedToScene()
{
	Scene* scene = getSceneNode()->getAttachedScene();

	if (scene)
	{
		scene->unRegisterLastUpdate(this);
	}
}
Пример #5
0
void Camera::onAttachedToScene()
{
	Scene* scene = getSceneNode()->getAttachedScene();

	if (scene)
	{
		scene->registerLastUpdate(this, CAMERA_UPDATE_PRIORITY, std::bind(&Camera::lastUpdate, this));
	}
}
Пример #6
0
void OctreeSceneManager::destroySceneNode( const String &name )
{
    OctreeNode * on = static_cast < OctreeNode* > ( getSceneNode( name ) );

    if ( on != 0 )
        _removeOctreeNode( on );

    SceneManager::destroySceneNode( name );
}
Пример #7
0
	//-------------------------------------------------------------------
	void Vob::updateInvisibleVisual()
	{
		destroyInvisibleVisual();
		if(!mInvisibleVisual.empty())
		{
			MeshExPtr mesh = MeshManagerEx::getSingleton().create(mInvisibleVisual);
			SceneNode* sceneNode = getSceneNode();
			SceneManagerEx* sceneMgr = (SceneManagerEx*) sceneNode->getCreator();
			mInvisibleEntity = sceneMgr->createEntity(mesh, SceneQueryMask::VOB);
			sceneNode->attachObject(mInvisibleEntity);
		}
	}
Пример #8
0
void Light::enterScene(Scene* scene) {
    VisualComponent::enterScene(scene);

    light = createLight();

    setEnabled(isEnabled());
    setDiffuseColour(getDiffuseColour());
    setSpecularColour(getSpecularColour());
    setAttenuation(getAttenuation());

    getSceneNode()->attachObject(light);
}
Пример #9
0
//-----------------------------------------------------------------------
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);
}
Пример #10
0
    //-----------------------------------------------------------------------
    void ModelObject::createModel(void)
    {
        assert(!mModel);
        assert(mProxy && !mModelName.empty());

        Ogre::SceneNode* parent = getSceneNode();
        assert(parent);

        mModel = new Model(parent, mModelName, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
        mModel->setUserObject(mProxy);

        mModel->setAnimationType(mSystem->_determineAnimationType(mAnimationLevel));
        mModel->setCastShadows(mCastShadows);
    }
Пример #11
0
    // Destroy a Scene Node by name.
    void PCZSceneManager::destroySceneNode( const String &name )
    {
        SceneNode * on = ( getSceneNode( name ) );

        if ( on != 0 )
		{
			// remove references to the node from zones
            removeSceneNode( on );
		}

		// destroy the node
        SceneManager::destroySceneNode( name );

    }
Пример #12
0
//==============================================================================
void MoveEvent::update(F32 prevUpdateTime, F32 crntTime)
{
	SceneNode* node = getSceneNode();
	ANKI_ASSERT(node);

	MoveComponent& move = node->getComponent<MoveComponent>();

	Transform trf = move.getLocalTransform();

	F32 factor = sin(getDelta(crntTime) * getPi<F32>());

	trf.getOrigin() = interpolate(m_originalPos, m_newPos, factor);

	move.setLocalTransform(trf);
}
Пример #13
0
Error JitterMoveEvent::update(F32 prevUpdateTime, F32 crntTime)
{
	SceneNode* node = getSceneNode();
	ANKI_ASSERT(node);

	MoveComponent& move = node->getComponent<MoveComponent>();

	Transform trf = move.getLocalTransform();

	F32 factor = sin(getDelta(crntTime) * PI);

	trf.getOrigin() = linearInterpolate(m_originalPos, m_newPos, factor);

	move.setLocalTransform(trf);

	return ErrorCode::NONE;
}
    //-----------------------------------------------------------------------
    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);
        }
    }
Пример #15
0
//-----------------------------------------------------------------------
void BulletObject::createBulletSystem(void)
{
    assert( mBulletSystem == NULL );
    assert(!mBulletSystemName.empty());

    Ogre::SceneNode* parent = getSceneNode();

    if (parent)
    {
        mBulletSystem = BulletSystemManager::getSingleton().createBulletSystem( mBulletSystemName );
        assert(mBulletSystem);

        mBulletSystem->setPosition(Ogre::Vector3::ZERO);

        // the scene node of placement object will be the parent scene node of
        // effect object, so the position of the scene node will be the position of
        // the effect.
        mBulletSystem->createSceneNode(parent);
    }
}
Пример #16
0
EnemyShip::EnemyShip(PlayerShip *player, irr::core::vector3df spawnPosition, int firingSpeed, irr::ITimer* timerReference, const irr::io::path& pathOfMesh, const irr::io::path& pathOfTexture, irr::scene::ISceneManager* sceneManagerReference, const unsigned short &startingLives)
        : Ship(spawnPosition, player->getMovementSpeed(), firingSpeed, -1, timerReference, pathOfMesh, pathOfTexture, sceneManagerReference, TYPE_SHIP_ENEMY, startingLives){

    //rotate to the right position
    getSceneNode()->setRotation(irr::core::vector3df(0, 180, 0));

    //set the player
    playerTarget = player;

    //init variables
	activeDistance = 125.0f;
    canMove = false;
	timeElapsed = 0;
	combatStartTime = 0.5f;

    rewardScore = true;
    scoreAmount = 5000;

	//Make the turn speed constant
	turnSpeed = 100;
}
Пример #17
0
//-----------------------------------------------------------------------
void EffectObject::createEffect(void)
{
    assert( mEffect == NULL );
    assert(!mEffectName.empty());

    Ogre::SceneNode* parent = getSceneNode();

    if (parent)
    {
        mEffect = EffectManager::getSingleton().createEffect( mEffectName );
        assert(mEffect);

        Fairy::TransformInfos tempTransformInfos;
        Fairy::TransformInfo tempTransformInfo(Ogre::Vector3::ZERO);
        tempTransformInfos.push_back(tempTransformInfo);
        mEffect->setExtraTransformInfos(tempTransformInfos);

        // the scene node of placement object will be the parent scene node of
        // effect object, so the position of the scene node will be the position of
        // the effect.
        mEffect->createSceneNode(parent);
    }
}
Пример #18
0
void Camera::onAttached()
{
	dImpl->_transformChangedCallbackId = getSceneNode()->getTransform()->addChangedCallback(std::bind(&Camera::onTransformChanged, this, std::placeholders::_1));
	
	onTransformChanged(*getSceneNode()->getTransform());
}
Пример #19
0
void Camera::onDettached()
{
	getSceneNode()->getTransform()->removeChangedCallback(dImpl->_transformChangedCallbackId);
}