[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | NodeBase Class Reference |  | 
#include <vigra/random_forest/rf_nodeproxy.hxx>
 
  
 | Public Member Functions | |
| INT & | child (Int32 l) | 
| INT const & | child (Int32 l) const | 
| Topology_type | column_data () const | 
| Topology_type | columns_begin () const | 
| Topology_type | columns_end () const | 
| int | columns_size () const | 
| bool | data () const | 
| NodeBase () | |
| NodeBase (T_Container_type const &topology, P_Container_type const ¶meter, INT n) | |
| NodeBase (int tLen, int pLen, T_Container_type const &topology, P_Container_type const ¶meter, INT n) | |
| NodeBase (int tLen, int pLen, NodeBase &node) | |
| NodeBase (int tLen, int pLen, T_Container_type &topology, P_Container_type ¶meter) | |
| NodeBase (NodeBase const &toCopy, T_Container_type &topology, P_Container_type ¶meter) | |
| INT & | parameter_addr () | 
| Parameter_type | parameters_begin () const | 
| Topology_type | topology_begin () const | 
| INT & | typeID () | 
| double & | weights () | 
NodeBase class.
This class implements common features of all nodes. Memory Structure: Int32 Array: TypeID, ParameterAddr, Child0, Child1, [ColumnData]0_ double Array: NodeWeight, [Parameters]1_
TODO: Throw away the crappy iterators and use vigra::ArrayVectorView it is not like anybody else is going to use this NodeBase class is it?
TODO: use the RF_Traits::ProblemSpec_t to specify the external parameters instead of the options.
| NodeBase | ( | ) | 
Default Constructor
| NodeBase | ( | T_Container_type const & | topology, | 
| P_Container_type const & | parameter, | ||
| INT | n | ||
| ) | 
create ReadOnly Base Node at position n (actual length is unknown) only common features i.e. children etc are accessible.
| NodeBase | ( | int | tLen, | 
| int | pLen, | ||
| T_Container_type const & | topology, | ||
| P_Container_type const & | parameter, | ||
| INT | n | ||
| ) | 
create ReadOnly node with known length (the parameter range is valid)
create ReadOnly node with known length from existing Node
| NodeBase | ( | int | tLen, | 
| int | pLen, | ||
| T_Container_type & | topology, | ||
| P_Container_type & | parameter | ||
| ) | 
create new Node at end of vector
| tLen | number of integers needed in the topolog vector | 
| pLen | number of parameters needed (this includes the node weight) | 
| topology | reference to Topology array of decision tree. | 
| parameter | reference to Parameter array of decision tree. | 
| NodeBase | ( | NodeBase const & | toCopy, | 
| T_Container_type & | topology, | ||
| P_Container_type & | parameter | ||
| ) | 
PseudoCopy Constructor -
Copy Node to the end of a container. Since each Node views on different data there can't be a real copy constructor (unless both objects should point to the same underlying data.
| double& weights | ( | ) | 
get Node Weight
| bool data | ( | ) | const | 
has the data been set? todo: throw this out - bad design
| INT& typeID | ( | ) | 
get the node type id
| INT& parameter_addr | ( | ) | 
Where in the parameter_ array are the weights?
| Topology_type column_data | ( | ) | const | 
Column Range
| Topology_type columns_begin | ( | ) | const | 
get the start iterator to the columns
| int columns_size | ( | ) | const | 
how many columns?
| Topology_type columns_end | ( | ) | const | 
end iterator to the columns
| Topology_type topology_begin | ( | ) | const | 
Topology Range - gives access to the raw Topo memory the size_ member was added as a result of premature optimisation.
| Parameter_type parameters_begin | ( | ) | const | 
Parameter Range
| INT& child | ( | Int32 | l | ) | 
where are the child nodes?
| INT const& child | ( | Int32 | l | ) | const | 
where are the child nodes?
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |