|
version 1.0.1 released 08/27/04
-
Better normals computation in the
MESH::NormalsUpdater processor.
version 1.0.0 released 08/01/04
-
Creation of nodes is made simpler. Check the node creation
page to see how nodes are now defined.
-
X3D routes are implemented in the X3D scene graph, implying that the attributes of a node are
now recorded and associated with a string name.
X3DNode::load
and X3DNode::write disappear. X3DAbstractNode::getChildList
and X3DAbstractNode::clone are now automated and no longer virtual.
-
Protected members of
X3DOnePassProcessor and
X3DMultiPassProcessor are now private. the GraphTraversal
variable is now accessed by getGraphTraversal() and defined
by setGraphTraversal(GraphTraversal *) .
-
Added
getVertices method to SFTemplateFace .
-
Common processors interfaces disappear so that the interface of
X3DTK::SimpleX3DGLScene
is slightly different.
version 0.6.0 released 05/27/04
-
In order to ensure more portablility, the node definition and function definition
can be made differently.
Indeed
defineNode<T>() is equivalent to
define(Recorder<T>::getCreationFunction()) .
defineEnterFunction(&Com::fun) is equivalent to
define(Recorder<T>::getEnterFunction(&Com::fun)) .
The singleton management is made by a template class and not template functions.
X3DProcessor::getInstanceOf<T>() , X3DLoader::getInstanceOf<T>() and GraphTraversal::getInstanceOf<T>()
have to be replaced by Singleton<T>::getInstance() .
-
All the template classes of the Mesh scene graph are now templated
by
MData , VData , EData , FData and RW
and recover Template in their names. The template entities
SFVertex , SFEdge , SFFace become
SFTemplateVertex , SFTemplateEdge , SFTemplateFace ,
Mesh and Vertex become TemplateMesh and TemplateVertex .
The default instantiation of these classes are SFVertex , SFEdge , SFFace ,
Mesh and Vertex enabling for the user not to know that they are template classes.
-
the template entities
MESH::SFVertex , MESH::SFEdge and MESH::SFFace derive
now from the non template base classes MESH::BaseSFVertex , MESH::BaseSFEdge and MESH::BaseSFFace .
-
Creation functions are set when a new component creator is set to the
Creator .
That changes slightly the interface of the X3DActor , Creator and Visitor .
-
In the MESH scene graph, edges are now created and removed by the
MESH::Vertex
node and not by the MESH::Mesh node. The user interface doesn't change.
version 0.5.4 released 04/07/04
-
SFType::printDerivationTree() becomes SFType::printInheritanceTree() .
-
X3DAbstractNode::getChildrenList() becomes X3DAbstractNode::getChildList() .
-
The component walkers disappear, indeed the traversals can be deduced from
X3DAbstractNode::getChildList() .
To define a new walk algorithm, the Walker::walk() virtual method has to be redefined.
-
X3D::DFSGraphTraversal , GL::DFSGraphTraversal
and MESH::DFSGraphTraversal disappear, only
DFSGraphTraversal is needed.
-
Methods of component visitors have to be static.
StateVariables members
disappear from component visitors, and must be directly accessed in the methods.
version 0.5.2 released 03/10/04
-
VertexSet becomes Vertex .
-
The way of storing the template mesh data has changed to enable more
flexibility. Now
MESH::VertexData for example is the agregation of lighter
structures by the use of type lists tlist and automatic class generation
clist . See documentation for more details.
-
The include files change their names. Before a typical processor of the
ns scene graph was included in the file X3DTK/ns_processor.h, now it is
X3DTK/NS/processor.h
-
DEFDict disappears from X3DAbstractNode .
-
Larger use of templates in the MESH scene graph involving that the
MESH::Mesh class
disappears, whereas the MESH::TemplateMesh becomes Mesh . In the same way MESH::TemplateVertexSet ,
MESH::SFTemplateVertex , MESH::SFTemplateEdge , MESH::SFTemplateFace become MESH::VertexSet ,
MESH::SFVertex , MESH::SFEdge , MESH::SFFace . Same changes for the processors:
MESH::TemplateMeshBuilder becomes MESH::MeshBuilder , etc.
version 0.5.1 released 12/5/03
-
You can access to the parents by
getParentList and the children by getChildrenList .
-
Type becomes SFType , Component SFComponent , SceneGraph SFSceneGraph ,
MType becomes MFType , MComponent MFComponent , MSceneGraph MFSceneGraph ,
Vertex becomes SFVertex , Edge becomes SFEdge , Face SFFace ,
MVertex becomes MFVertex , MEdge becomes MFEdge , MFace MFFace .
-
TemplateMesh has now a child called TemplateVertexSet which stores SFTemplateVertex . That enables
vertex sharing.
-
The names of the files follow the rule: if the class belongs to the ns namespace, then
the file name is ns_class. The include files of the processors have changed and follow this rule.
-
GVManager disappears and its content is moved to the GraphTraversal . GlobalVariables
become StateVariables to avoid ambiguity with variables global to the application.
-
defineNew*Function becomes define*Function .
-
GL::X3DNode::render() becomes GL::X3DGeometryNode::draw() .
-
SFMatrix34f::IDENTITY becomes SFMatrix34f::identity .
SFVec3f::NULLVECTOR becomes SFVec3f::null .
SFPoint3f::NULLVECTOR becomes SFPoint3f::null .
SFVec2f::NULLVECTOR becomes SFVec2f::null .
SFColor::NULLCOLOR becomes SFColor::null .
-
Template singleton manager used for instantiating
X3DProcessor and X3DLoader .
For example, for getting an X3D::BBoxUpdater , you type X3DProcessor::getInstanceOf<X3D::BBoxUpdater>();
version 0.5.0 released 10/27/03
-
DefineNewTypeName extended to the scene graph meaning that a type belongs to a component
that belongs to a scene graph.
-
Bbox becomes BBox .
-
Simpler syntax to define a new node. Before you had to record the
CreationFunction , now
only defineNewNode<T>() is needed in the constructor.
-
Thanks to the implicit template parameters you can type
defineNewEnterFunction(&component::function);
-
X3DTTAlgorithm becomes GraphTraversal .
-
Default* classes disappear.
-
New arborescence. New include files :kernel.h, x3dscenegraph.h, glscenegraph.h...
-
SFVec3f VertexData::_point becomes SFPoint3f VertexData::_point
-
Mesh namespace becomes MESH to avoid ambiguity with Mesh class.
-
SFMatrix34f::toFloat syntax changes.
-
In the
X3DAbstractNode class, addParent and removeParent become private, addLink and removeLink become addParentToChild and removeParentFromChild .
-
The
VertexData class doesn't have a list of VertexFData any more, it
stores directly the informations per face.
-
The functions
scale(...) , translation(...) , rotationX() ... returning an SFMatrix34f
are incorpored into SFMatrix34f as static methods. identity34() becomes the public static
member IDENTITY.
|