#include <vuNormalBlock.h>
Collaboration diagram for vuNormalBlock:

Public Member Functions | |
| vuNormalBlock () | |
| Default constructor creating a null table. | |
| vuNormalBlock (const vuNormalBlock &inst) | |
| Copy constructor doing a deep copy. | |
| ~vuNormalBlock () | |
| Destructor. | |
| void | setSize (dword size) |
| Sets the size of the normal block. | |
| dword | getSize (void) const |
| Returns the size of the normal block. | |
| float | getRange (void) const |
| Returns the range of the normals. | |
| float | getStdDev (void) const |
| Returns the standard deviation between the normals. | |
| void | addNormal (const float *norm) |
| Adds a normal to the normal block. | |
| void | computeStats (void) |
| Computes the range and standard deviation of the normals. | |
| bool | medianSplit (vuNormalBlock &left, vuNormalBlock &right) |
| Splits the normal block about the median. | |
| void | computeAverage (float *f) const |
| Computes the average length of the normals. | |
| vuNormalBlock & | operator= (const vuNormalBlock &rhs) |
| An assignment operator doing a deep copy. | |
Private Member Functions | |
| int | Partition (int p, int r) |
| this performs a quicksort partition on m_dim, | |
| int | RandomPartition (int p, int r) |
| void | QuickSort (int p, int r) |
| this will perform a quicksort on the elements between p and r (inclusive) | |
Private Attributes | |
| dword | m_Size |
| the size of the block | |
| dword | m_Current |
| the current element that you are looking at | |
| float * | m_Norms |
| the buffer that stores the normals | |
| dword | m_Dim |
| the dimension that is being looked at currently (ie, 0, 1, or 2) | |
| float | m_Range |
| the range of the normals | |
| float | m_StdDev |
| the standard deviation between the normals | |
|
|
Default constructor creating a null table.
Definition at line 5 of file vuNormalBlock.cpp. References m_Current, m_Dim, m_Norms, m_Range, m_Size, and m_StdDev. |
|
|
Copy constructor doing a deep copy.
Definition at line 15 of file vuNormalBlock.cpp. References dword, m_Current, m_Dim, m_Norms, m_Range, m_Size, and m_StdDev. |
|
|
Destructor.
Definition at line 30 of file vuNormalBlock.cpp. |
|
|
Adds a normal to the normal block.
Definition at line 64 of file vuNormalBlock.cpp. References m_Current, and m_Norms. Referenced by vuNormalTable::addToCollection(), and vuNormalTable::setCollection(). |
|
|
Computes the average length of the normals.
Definition at line 168 of file vuNormalBlock.cpp. References dword, m_Norms, and m_Size. Referenced by vuNormalTable::computeTable(). |
|
|
Computes the range and standard deviation of the normals.
Definition at line 71 of file vuNormalBlock.cpp. References dword, m_Dim, m_Norms, m_Range, m_Size, m_StdDev, max, and min. Referenced by vuNormalTable::computeTable(), and medianSplit(). |
|
|
Returns the range of the normals.
Definition at line 54 of file vuNormalBlock.cpp. Referenced by vuNormalTable::computeTable(). |
|
|
Returns the size of the normal block.
Definition at line 49 of file vuNormalBlock.cpp. References dword. |
|
|
Returns the standard deviation between the normals.
Definition at line 59 of file vuNormalBlock.cpp. Referenced by vuNormalTable::computeTable(). |
|
||||||||||||
|
Splits the normal block about the median.
Definition at line 120 of file vuNormalBlock.cpp. References computeStats(), dword, m_Norms, m_Size, QuickSort(), and setSize(). Referenced by vuNormalTable::computeTable(). |
Here is the call graph for this function:

|
|
An assignment operator doing a deep copy.
Definition at line 192 of file vuNormalBlock.cpp. References dword, m_Current, m_Norms, m_Range, m_Size, and m_StdDev. |
|
||||||||||||
|
this performs a quicksort partition on m_dim, ie, this will m_th component of each element between p and r (inclusive) in the block and will swap elements to ensure that the all elements that have an m_th component less than the initial m_th component at position p will be before all other elements in the range of p..r Definition at line 213 of file vuNormalBlock.cpp. References m_Norms. Referenced by RandomPartition(). |
|
||||||||||||
|
this will perform a quicksort on the elements between p and r (inclusive)
Definition at line 250 of file vuNormalBlock.cpp. References RandomPartition(). Referenced by medianSplit(). |
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 238 of file vuNormalBlock.cpp. References m_Norms, and Partition(). Referenced by QuickSort(). |
Here is the call graph for this function:

|
|
Sets the size of the normal block.
Definition at line 36 of file vuNormalBlock.cpp. References dword, m_Current, m_Norms, m_Range, m_Size, m_StdDev, and size. Referenced by vuNormalTable::initCollection(), medianSplit(), and vuNormalTable::setCollection(). |
|
|
the current element that you are looking at
Definition at line 58 of file vuNormalBlock.h. Referenced by addNormal(), operator=(), setSize(), and vuNormalBlock(). |
|
|
the dimension that is being looked at currently (ie, 0, 1, or 2)
Definition at line 60 of file vuNormalBlock.h. Referenced by computeStats(), and vuNormalBlock(). |
|
|
the buffer that stores the normals
Definition at line 59 of file vuNormalBlock.h. Referenced by addNormal(), computeAverage(), computeStats(), medianSplit(), operator=(), Partition(), RandomPartition(), setSize(), and vuNormalBlock(). |
|
|
the range of the normals
Definition at line 61 of file vuNormalBlock.h. Referenced by computeStats(), operator=(), setSize(), and vuNormalBlock(). |
|
|
the size of the block
Definition at line 57 of file vuNormalBlock.h. Referenced by computeAverage(), computeStats(), medianSplit(), operator=(), setSize(), and vuNormalBlock(). |
|
|
the standard deviation between the normals
Definition at line 62 of file vuNormalBlock.h. Referenced by computeStats(), operator=(), setSize(), and vuNormalBlock(). |
1.3.9.1