#include <vtkRecursiveSphereDirectionEncoder.h>
Inheritance diagram for vtkRecursiveSphereDirectionEncoder:
Public Methods | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent index) |
int | GetEncodedDirection (float n[3]) |
float * | GetDecodedGradient (int value) |
int | GetNumberOfEncodedDirections (void) |
float * | GetDecodedGradientTable (void) |
virtual void | SetRecursionDepth (int) |
virtual int | GetRecursionDepth () |
Static Public Methods | |
int | IsTypeOf (const char *type) |
vtkRecursiveSphereDirectionEncoder * | SafeDownCast (vtkObject *o) |
vtkRecursiveSphereDirectionEncoder * | New () |
Protected Methods | |
vtkRecursiveSphereDirectionEncoder () | |
~vtkRecursiveSphereDirectionEncoder () | |
vtkRecursiveSphereDirectionEncoder (const vtkRecursiveSphereDirectionEncoder &) | |
void | operator= (const vtkRecursiveSphereDirectionEncoder &) |
void | InitializeIndexTable (void) |
Protected Attributes | |
int | RecursionDepth |
int * | IndexTable |
float * | DecodedNormal |
int | IndexTableRecursionDepth |
int | OuterSize |
int | InnerSize |
int | GridSize |
vtkRecursiveSphereDirectionEncoder 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.
|
Get the name of this class Reimplemented from vtkDirectionEncoder. |
|
/ Given an encoded value, return a pointer to the normal vector Implements vtkDirectionEncoder. |
|
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 vtkDirectionEncoder. |
|
Given a normal vector n, return the encoded direction Implements vtkDirectionEncoder. |
|
Return the number of encoded directions Implements vtkDirectionEncoder. |
|
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. Reimplemented from vtkDirectionEncoder. |
|
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. Reimplemented from vtkDirectionEncoder. |
|
Construct the object. Initialize the index table which will be used to map the normal into a patch on the recursively subdivided sphere. Reimplemented from vtkObject. |
|
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from vtkObject. |
|
Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h. Reimplemented from vtkDirectionEncoder. |
|
Set / 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. |