Robert Wolfe (rwolfe++at++dciem.dnd.ca)
Mon, 30 Nov 1998 17:25:14 -0500
I am fairly certain that there is an error in the following
paragraph of manpage doc from pfNode.
Can somebody identify the error please ?
//////////////////////////////////////////
The transformation of a pfDCS affects all its children. As the
hierarchy is traversed from top to bottom, each new matrix is pre-
multiplied to create the new transformation. For example, if DCSb
is below DCSa in the scene graph, any geometry G below DCSa is
transformed as G*DCSb*DCSa.
/////////////////////////////////////////
What then would be the correct order of multiplication of a point
defined in the local coordinate system of the geometry G with the
parent DCSs in order to produce the point in world coordinates ?
(My guess is G*DCSb*DCSa if I have correctly identified the error
above).
On another subject, I am also confused by the documentation about
pfNode::find. See the manpage paragraphs below.
pfNode* pfNode::find(const char *pathName, pfType *type);
//////////////////////////////////////////
pfNode::find is a general search routine for finding named pfNodes.
pfNode::find begins searching for the node of type type and identified
by a '/'-separated path name pathName. The search begins at the pfNode
and uses a depth-first traversal. pfNode::find returns NULL if it
cannot find the node. Note that the type checking performed by
pfNode::find is equivalent to pfMemory::isOfType, not
pfMemory::isExactType, e.g.
searching for a pfGroup includes derived classes such as pfSwitch.
The string pathName can be either a name or a '/'-separated pathname.
If the name contains no '/' characters, it is assumed to be unique and
the global name table is searched. If pathName contains '/' characters,
it is assumed to be a path. Paths are searched by first finding the node
corresponding to the first component of the path in a global name table.
The find routine then traverses the subtree rooted at that node,
searching for the rest of the path. The first node encountered during
the search traversal which matches pathName is returned.
//////////////////////////////////////////
The first paragraph seems to indicate that any search for a named node
starts with the subtree indicated by the instance of pfNode calling
find. If I have two nodes with the same name and a same subtree
structure both located at the same level in the scene graph,
then there would not be any ambiguity in finding a same-named child
of one of those nodes if I have the pointer to the correct parent.
Is this correct?
The second paragraph seems to indicate that in any case, at least the
first element of the sought name (either the name without /'s or the
first component of the pathname with /'s) will be searched for in the
global name table. This means that identically named nodes at the same
scene graph level would be indistinguishable to the find method.
Is there a contradiction here between these two paragraphs ?
Any help will be appreciated.
Robert
This archive was generated by hypermail 2.0b2 on Mon Nov 30 1998 - 14:30:06 PST