|
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.
|