A Photon which also doubles as a kd-tree node for use with PointKDTree. More...
#include <photon.h>


Public Member Functions | |
| Photon () | |
| Dummy constructor. | |
| Photon (const Point3f &pos, const Vector3f &dir, const Color3f &power) | |
| Construct from a photon interaction. | |
| Vector3f | getDirection () const |
| Color3f | getPower () const |
Public Member Functions inherited from GenericKDTreeNode< Point3f, PhotonData > | |
| GenericKDTreeNode () | |
| Initialize a KD-tree node. | |
| GenericKDTreeNode (const PointType &position, const DataRecord &data) | |
| Initialize a KD-tree node with the given data record. | |
| IndexType | getRightIndex (IndexType self) const |
| Given the current node's index, return the index of the right child. | |
| void | setRightIndex (IndexType self, IndexType value) |
| Given the current node's index, set the right child index. | |
| IndexType | getLeftIndex (IndexType self) const |
| Given the current node's index, return the index of the left child. | |
| void | setLeftIndex (IndexType self, IndexType value) |
| Given the current node's index, set the left child index. | |
| bool | isLeaf () const |
| Check whether this is a leaf node. | |
| void | setLeaf (bool value) |
| Specify whether this is a leaf node. | |
| uint16_t | getAxis () const |
| Return the split axis associated with this node. | |
| void | setAxis (uint8_t axis) |
| Set the split flags associated with this node. | |
| const PointType & | getPosition () const |
| Return the position associated with this node. | |
| void | setPosition (const PointType &value) |
| Set the position associated with this node. | |
| DataRecord & | getData () |
| Return the data record associated with this node. | |
| const DataRecord & | getData () const |
| Return the data record associated with this node (const version) | |
| void | setData (const DataRecord &val) |
| Set the data record associated with this node. | |
Additional Inherited Members | |
Public Types inherited from GenericKDTreeNode< Point3f, PhotonData > | |
| enum | |
| typedef Point3f | PointType |
| typedef PhotonData | DataRecord |
| typedef uint32_t | IndexType |
| typedef PointType::Scalar | Scalar |
Public Attributes inherited from GenericKDTreeNode< Point3f, PhotonData > | |
| PointType | position |
| IndexType | right |
| DataRecord | data |
| uint8_t | flags |
A Photon which also doubles as a kd-tree node for use with PointKDTree.