#include <mitkRecursiveSphereDirectionEncoder.h>
Inherits mitkDirectionEncoder.
Inheritance diagram for mitkRecursiveSphereDirectionEncoder:
Public Member Functions | |
int | GetEncodedDirection (float n[3]) |
float * | GetDecodedGradient (int value) |
int | GetNumberOfEncodedDirections () |
float * | GetDecodedGradientTable () |
virtual void | SetRecursionDepth (int fnDepth) |
virtual int | GetRecursionDepthMinValue () |
virtual int | GetRecursionDepthMaxValue () |
virtual int | GetRecursionDepth () |
mitkRecursiveSphereDirectionEncoder is a direction encoder which uses the vertices of a recursive subdivision of an octahedron (with the vertices pushed out onto the surface of an enclosing sphere) to encode directions into a two byte value. Some codes are borrowed from VTK, and please see the copyright at end.
|
Given an encoded value, return a pointer to the normal vector
Implements mitkDirectionEncoder. |
|
Get the decoded gradient table. There are this->GetNumberOfEncodedDirections() entries in the table, each containing a normal (direction) vector. This is a flat structure - 3 times the number of directions floats in an array.
Implements mitkDirectionEncoder. |
|
Given a normal vector n, return the encoded direction
Implements mitkDirectionEncoder. |
|
Return the number of encoded directions
Implements mitkDirectionEncoder. |
|
Get the recursion depth for the subdivision. This indicates how many time one triangle on the initial 8-sided sphere model is replaced by four triangles formed by connecting triangle edge midpoints. A recursion level of 0 yields 8 triangles with 6 unique vertices. The normals are the vectors from the sphere center through the vertices. The number of directions will be 11 since the four normals with 0 z values will be duplicated in the table - once with +0 values and the other time with -0 values, and an addition index will be used to represent the (0,0,0) normal. If we instead choose a recursion level of 6 (the maximum that can fit within 2 bytes) the number of directions is 16643, with 16386 unique directions and a zero normal.
|
|
Get the max recursion depth value
|
|
Get the min recursion depth value
|
|
Set the recursion depth for the subdivision. This indicates how many time one triangle on the initial 8-sided sphere model is replaced by four triangles formed by connecting triangle edge midpoints. A recursion level of 0 yields 8 triangles with 6 unique vertices. The normals are the vectors from the sphere center through the vertices. The number of directions will be 11 since the four normals with 0 z values will be duplicated in the table - once with +0 values and the other time with -0 values, and an addition index will be used to represent the (0,0,0) normal. If we instead choose a recursion level of 6 (the maximum that can fit within 2 bytes) the number of directions is 16643, with 16386 unique directions and a zero normal.
|