#include <eng_node.hh>

Public Member Functions | |
| Value (void) | |
| virtual | ~Value () |
Protected Types | |
| enum | ePriority1 { ePriority1_LodNode = 10, ePriority1_PartitionNode = 9, ePriority1_TransformNode = 8, ePriority1_VertexsNode = 7, ePriority1_NormalsNode = 6, ePriority1_ModesNode = 5, ePriority1_MaterialNode = 4, ePriority1_TextureNode = 3, ePriority1_ColorsNode = 2, ePriority1_PolygonNode = 1, ePriority1_SpecialNode = 0 } |
Protected Member Functions | |
| virtual ePriority1 | GetPriority1 (void) const =0 |
| virtual bool | LessThan (const Value &otherValue) const |
Friends | |
| bool | operator< (const Node &node1, const Node &node2) |
Each Node derivative defines, in turn, a derivative of Node::Value. The base Node::Value is used for sorting and placing Nodes according to priority. As a key, Value has two orders of priority. 1st-order priority is a constant: which level in a subtree this type of Node belongs. 2nd-order priority is dynamically computed for certain specific types of Nodes. In other words, 1st-order is heterogeneous priority, 2nd-order is homogeneous. Net priority of nodes determines optimal order of Nodes in a Graph.
Nodes with equal net priorities still have a defined placement order. A new equal Node should be appended to the oldest equal one (to the right of). That is, within equal siblings, the order is from oldest to youngest.
enum eng::Node::Value::ePriority1 [protected] |
1st-order priority of heterogeneous nodes are constants.
| eng::TextureNode::Value::Value | ( | void | ) | [inline] |
Reimplemented in eng::ModesNode::Value, eng::MaterialNode::Value, eng::TextureNode::Value, and eng::SpecialNode::Value.
| virtual eng::Node::Value::~Value | ( | ) | [inline, virtual] |
| virtual ePriority1 eng::Node::Value::GetPriority1 | ( | void | ) | const [protected, pure virtual] |
| bool eng::ColorsNode::Value::LessThan | ( | const Value & | otherValue | ) | const [inline, protected, virtual] |
Compare Node two-order priorities.
Reimplemented in eng::PartitionNode::Value, eng::TransformNode::Value, eng::ModesNode::Value, eng::MaterialNode::Value, and eng::TextureNode::Value.
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:22 2007