OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: -SceneNode
View page
Source of version: 7
(current)
{INCLUDE(page="ogrelex ext tpl")/} --- __SceneNode__ - A SceneNode is a logical element of the scene graph hierachy, which is used to organise objects in a ((-scene|scene)). It can have multiple child nodes or ((-MovableObject|MovableObject))s (such as ((-Entity|Entity)), ((-Camera|Camera)), ((ManualObject)), ((-Light|Light)), ((-Particle|ParticleSytem)), etc.) attached to it. Rather than moving these individual items around, you move the nodes they are attached to. !!Note for world and derived properties The functions ''getWorldPosition()'', ''getWorldOrientation()'' and ''getWorldScale()'' are removed since Ogre 1.6. Instead you have to use ___getDerivedPosition()__, ___getDerivedOrientation()__ and ___getDerivedScale()__. In normal cases you shouldn't use underscore functions if you don't really need them. Related to the SceneNode class ist just a warning symbol. {QUOTE(replyto="Sinbad")} It does - basically it means 'caution'. The issue here is that derived positions are lazy-updated for speed, not every time you make a change to nodes in the hierarchy. Thus the result may not be accurate unless SceneManager::updateSceneGraph has happened, or you force an update for a sub-branch of the tree. When you make a change to a parent node, the update flag is not propagated all the way down the tree (for the same efficiency reasons), it's just flagged as pending a cascade which is propagated later. Thus a node several children down may have no knowledge that it is currently out of date. Within 1 level of the tree it's ok, but beyond that it's not. Without this lazy update approach, making lots of updates to scene objects in deep hierarchies becomes very slow. Thus we mark the _getDerived methods with an underscore because grabbing derived updates all the time can be both costly and /or inaccurate depending how you propagate changes. Scene managers can rely on them because updateSceneGraph has resolved all the changes. {QUOTE} !!See also * [http://www.ogre3d.org/docs/api/html/classOgre_1_1SceneNode.html#_details|Ogre::SceneNode Class Reference]
Search by Tags
Search Wiki by Freetags
Latest Changes
IDE Eclipse
FMOD SoundManager
HDRlib
Building Ogre V2 with CMake
Ogre 2.1 FAQ
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
MogreSocks
...more
Search
Find
Advanced
Search Help
Online Users
151 online users