[Ctk-developers] CTK Scene
Stephen Aylward
stephen.aylward at kitware.com
Thu Aug 20 22:39:07 UTC 2009
Continuing the discussion of CTK data types...
I propose that we have a ctkScene as a driving datatype.
First, perhaps, we need to agree on the definition of a scene. I
propose that a ctkScene should have two main traits:
1) Generically, a scene is composed of objects that fill a portion of
space and time
* Objects have a position in space
* Objects have an orientation in space
* Objects have a range in time
* Given a point in physical space and time, it should be possible to
determine if an object contains it or not.
* An object should contain at least one point in space and time
* The concept of units is paramount in a scene.
** Units describe the spatial and chronological scale of an object
2) A scene represents a hierarchy of object in space and time.
* Objects have a single parent (except a root object) and may have one
or more children objects
** That is, a scene is a tree
* Moving a parent object in space or time should (by default) cause
its children to experience the same movement in space and time
* The coordinate system for root objects is defined as "real-world"
space. It is an absolute space.
* A scene may have multiple roots
** It is not necessary to represent everything in space from a single root.
** One or more roots are used to contain the physical/temporal objects
relevant to a particular task.
* Objects implicitly include their child objects
** When querying the time/space extent of an object (e.g., to
determine if a point is inside of it or to determine its bounding box)
that query typically also includes its child objects in its
computations.
* Most queries to and responses from objects should be with respect to
real-world space (i.e., the coordinate system of the root object).
** For example, querying an object if it contains a physical point is
done using real-world coordinates (i.e., a coordinate system common to
all objects in its tree).
I'm adding this to the wiki at:
http://my-trac.assembla.com/protoctk/wiki/ctkScene
Stephen
--
Stephen R. Aylward, Ph.D.
Director of Medical Imaging
Kitware, Inc. - North Carolina Office
http://www.kitware.com
stephen.aylward (Skype)
(919) 969-6990 x300
More information about the Ctk-developers
mailing list