From 6dc7a163cca8b7ac5eb95c1552096967bbb00bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 13 Nov 2012 00:18:15 +0100 Subject: [PATCH] SceneGraph: doc++ Mention default template arguments and LinkedList usage. --- doc/scenegraph.dox | 5 +++++ src/SceneGraph/AbstractFeature.h | 3 +++ src/SceneGraph/AbstractObject.h | 2 ++ src/SceneGraph/Object.h | 6 ++++-- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/scenegraph.dox b/doc/scenegraph.dox index 4adbf419f..3ea52abf2 100644 --- a/doc/scenegraph.dox +++ b/doc/scenegraph.dox @@ -24,6 +24,11 @@ Transformation handles object position, rotation etc. and its basic property is dimension count (2D or 3D) and underlying floating-point type (by default `float`s are used everywhere, but you can use `double`s too). +@note All classes in SceneGraph have `GLfloat` as default underlying + floating-point type, which means that you can omit that template parameter + and write just %AbstractObject<2> or %MatrixTransformation3D<> + instead of %AbstractObject<2, GLfloat> and %MatrixTransformation3D<GLfloat>. + %Scene graph has implementation of transformations in both 2D and 3D, using either matrices or combination of position and rotation. Each implementation has its own advantages and disadvantages -- for example when using matrices diff --git a/src/SceneGraph/AbstractFeature.h b/src/SceneGraph/AbstractFeature.h index f88aa09f1..f48b88034 100644 --- a/src/SceneGraph/AbstractFeature.h +++ b/src/SceneGraph/AbstractFeature.h @@ -45,6 +45,9 @@ namespace Implementation { Contained in Object, takes care of transformation caching. See @ref scenegraph for introduction. +Uses Corrade::Containers::LinkedList for accessing holder object and sibling +features. + @section AbstractFeature-subclassing Subclassing Feature is templated on dimension count and underlying transformation type, so diff --git a/src/SceneGraph/AbstractObject.h b/src/SceneGraph/AbstractObject.h index 9213d01bc..5335ad260 100644 --- a/src/SceneGraph/AbstractObject.h +++ b/src/SceneGraph/AbstractObject.h @@ -35,6 +35,8 @@ Provides minimal interface for features, not depending on object transformation implementation. This class is not directly instantiatable, use Object subclass instead. See also @ref scenegraph for more information. +Uses Corrade::Containers::LinkedList for storing features. + @see AbstractObject2D, AbstractObject3D */ #ifndef DOXYGEN_GENERATING_OUTPUT diff --git a/src/SceneGraph/Object.h b/src/SceneGraph/Object.h index e4c4c75d1..3246fcd0e 100644 --- a/src/SceneGraph/Object.h +++ b/src/SceneGraph/Object.h @@ -46,8 +46,10 @@ namespace Implementation { @brief %Object Base of scene graph. Contains specific transformation implementation, takes -care of parent/children relationships and contains features. See -@ref scenegraph for introduction. +care of parent/children relationship and contains features. See @ref scenegraph +for introduction. + +Uses Corrade::Containers::LinkedList for parent/children relationship. @section Object-explicit-specializations Explicit template specializations