|
VTK
|
A direction encoder based on the recursive subdivision of an octahedron. More...
#include <vtkRecursiveSphereDirectionEncoder.h>
Public Types | |
| typedef vtkDirectionEncoder | Superclass |
Public Types inherited from vtkDirectionEncoder | |
| typedef vtkObject | Superclass |
Public Types inherited from vtkObject | |
| typedef vtkObjectBase | Superclass |
Public Member Functions | |
| virtual int | IsA (const char *type) |
| vtkRecursiveSphereDirectionEncoder * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| int | GetEncodedDirection (float n[3]) |
| float * | GetDecodedGradient (int value) |
| int | GetNumberOfEncodedDirections (void) |
| float * | GetDecodedGradientTable (void) |
| virtual void | SetRecursionDepth (int) |
| virtual int | GetRecursionDepth () |
Public Member Functions inherited from vtkDirectionEncoder | |
| vtkDirectionEncoder * | NewInstance () const |
Public Member Functions inherited from vtkObject | |
| vtkObject * | NewInstance () const |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| bool | GetDebug () |
| void | SetDebug (bool debugFlag) |
| virtual void | Modified () |
| virtual unsigned long | GetMTime () |
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
| vtkCommand * | GetCommand (unsigned long tag) |
| void | RemoveObserver (vtkCommand *) |
| void | RemoveObservers (unsigned long event, vtkCommand *) |
| void | RemoveObservers (const char *event, vtkCommand *) |
| int | HasObserver (unsigned long event, vtkCommand *) |
| int | HasObserver (const char *event, vtkCommand *) |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveObservers (unsigned long event) |
| void | RemoveObservers (const char *event) |
| void | RemoveAllObservers () |
| int | HasObserver (unsigned long event) |
| int | HasObserver (const char *event) |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| int | InvokeEvent (unsigned long event, void *callData) |
| int | InvokeEvent (const char *event, void *callData) |
| int | InvokeEvent (unsigned long event) |
| int | InvokeEvent (const char *event) |
Public Member Functions inherited from vtkObjectBase | |
| const char * | GetClassName () const |
| virtual void | Delete () |
| virtual void | FastDelete () |
| void | Print (ostream &os) |
| virtual void | Register (vtkObjectBase *o) |
| virtual void | UnRegister (vtkObjectBase *o) |
| void | SetReferenceCount (int) |
| void | PrintRevisions (ostream &) |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| int | GetReferenceCount () |
Static Public Member Functions | |
| static int | IsTypeOf (const char *type) |
| static vtkRecursiveSphereDirectionEncoder * | SafeDownCast (vtkObjectBase *o) |
| static vtkRecursiveSphereDirectionEncoder * | New () |
Static Public Member Functions inherited from vtkDirectionEncoder | |
| static int | IsTypeOf (const char *type) |
| static vtkDirectionEncoder * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
| static int | IsTypeOf (const char *type) |
| static vtkObject * | SafeDownCast (vtkObjectBase *o) |
| static vtkObject * | New () |
| static void | BreakOnError () |
| static void | SetGlobalWarningDisplay (int val) |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
| static int | IsTypeOf (const char *name) |
| static vtkObjectBase * | New () |
Protected Member Functions | |
| virtual vtkObjectBase * | NewInstanceInternal () const |
| vtkRecursiveSphereDirectionEncoder () | |
| ~vtkRecursiveSphereDirectionEncoder () | |
| void | InitializeIndexTable (void) |
Protected Member Functions inherited from vtkDirectionEncoder | |
| vtkDirectionEncoder () | |
| ~vtkDirectionEncoder () | |
Protected Member Functions inherited from vtkObject | |
| vtkObject () | |
| virtual | ~vtkObject () |
| virtual void | RegisterInternal (vtkObjectBase *, int check) |
| virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
| void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
| void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
| vtkObjectBase () | |
| virtual | ~vtkObjectBase () |
| virtual void | CollectRevisions (ostream &) |
| virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) | |
| void | operator= (const vtkObjectBase &) |
Protected Attributes | |
| int | RecursionDepth |
| int * | IndexTable |
| float * | DecodedNormal |
| int | IndexTableRecursionDepth |
| int | OuterSize |
| int | InnerSize |
| int | GridSize |
Protected Attributes inherited from vtkObject | |
| bool | Debug |
| vtkTimeStamp | MTime |
| vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
| vtkAtomicInt32 | ReferenceCount |
| vtkWeakPointerBase ** | WeakPointers |
A direction encoder based on the recursive subdivision of an octahedron.
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.
Definition at line 34 of file vtkRecursiveSphereDirectionEncoder.h.
Definition at line 37 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
|
protected |
|
static |
|
virtual |
Get the name of this class
Reimplemented from vtkDirectionEncoder.
|
static |
|
protectedvirtual |
Get the name of this class
Reimplemented from vtkDirectionEncoder.
| vtkRecursiveSphereDirectionEncoder* vtkRecursiveSphereDirectionEncoder::NewInstance | ( | ) | const |
|
virtual |
Get the name of this class
Reimplemented from vtkDirectionEncoder.
|
static |
Construct the object. Initialize the index table which will be used to map the normal into a patch on the recursively subdivided sphere.
Given a normal vector n, return the encoded direction
Implements vtkDirectionEncoder.
/ Given an encoded value, return a pointer to the normal vector
Implements vtkDirectionEncoder.
|
virtual |
Return the number of encoded directions
Implements vtkDirectionEncoder.
|
virtual |
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.
|
virtual |
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.
|
virtual |
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.
|
protected |
|
protected |
Definition at line 82 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 87 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 93 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 99 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 101 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 102 of file vtkRecursiveSphereDirectionEncoder.h.
|
protected |
Definition at line 103 of file vtkRecursiveSphereDirectionEncoder.h.
1.8.9.1