#include <NewtonClassify.h>
Inheritance diagram for NewtonClassify:


There are two main methods in this class: classify(gmVector3) and classify(PointList). The first form find the eigenvectors, eigenvalues, and "kind" of a single point. The second form finds the eigenvectors, eigenvalues and "kinds" of a list of points. Each method stores the results in internal members.
Definition at line 32 of file NewtonClassify.h.
Public Member Functions | |
Constructors | |
| NewtonClassify () | |
| Default constructor. | |
| NewtonClassify (Implicit *) | |
| Constructs an object containing critical points for a given Implicit. | |
Setting/Getting the Surface | |
| virtual void | setSurface (Implicit *) |
| Changes the surface to search. | |
| virtual Implicit * | getSurface () |
| Returns the current surface being searched. | |
Classifying | |
| void | classify (PointList) |
| Finds the eigen vectors/values for all critical points in PointList. | |
| void | classify (gmVector3) |
| Finds the eigen vectors and eigen values of a given point. | |
Public Attributes | |
Members set by Classify(PointList) | |
| std::vector< CPKind > | fKinds |
| A list of the kind of each critical point in the fRoots list. | |
| std::vector< gmMatrix3 > | fVectors |
| A list of the eigen vectors of each critical point in fRoots. | |
| std::vector< gmVector3 > | fValues |
| A list of the eigen values of each critical point in fRoots. | |
Members set by Classify(gmVector3) | |
| gmMatrix3 | eigenVectors |
| The resulting eigen vectors after a call to classify(gmVector3). | |
| gmVector3 | eigenValues |
| The resulting eigen values after a call to classify(gmVector3). | |
| CPKind | criticalKind |
| The resulting kind of root after a call to classify(gmVector3). | |
| int | differentEigenIndex |
| The index of the eigen value/vector that has a different sign from the others, or -1 if all eigen values are the same sign. | |
Protected Attributes | |
| Implicit * | surface |
| Classify critical points for this Implicit surface. | |
Private Member Functions | |
| int | countPosEigenValues () |
| Determine the number of positive roots and the differentEigenIndex. | |
|
|
Default constructor. This method isn't very useful since it sets the surface to be NULL which means that there is no surface for which to classify critical points. This is just here so that you can declare a NewtonClassify value without having to initialize it at the same time. Definition at line 19 of file NewtonClassify.cpp. References setSurface(). |
|
|
Constructs an object containing critical points for a given Implicit. You MUST pass in an Implicit surface.
Definition at line 30 of file NewtonClassify.cpp. References setSurface(), and surf. |
|
|
Finds the eigen vectors and eigen values of a given point. The resulting values are stored in the class members eigenVectors and eigenValues. Also, this method figures out the "kind" of the point by counting the number of positive eigen values and setting the criticalKind member. It also stores the index of the eigen value that had a different sign from the rest, or -1 if all eigen values were of the same sign.
Definition at line 104 of file NewtonClassify.cpp. References countPosEigenValues(), CPKind, criticalKind, eigenValues, eigenVectors, getSurface(), Implicit::hess(), Jacobi::solve(), Jacobi::sort(), Jacobi::values, and Jacobi::vectors. |
|
|
Finds the eigen vectors/values for all critical points in PointList. The eigen vectors of the points are stored in the fVectors list. The eigen values of the points are stored in the fValues list. The kinds of the points are stored in the fKinds list.
Definition at line 71 of file NewtonClassify.cpp. References criticalKind, eigenValues, eigenVectors, fKinds, fValues, fVectors, getSurface(), and PointList. Referenced by SearchCritical::classify(). |
|
|
Determine the number of positive roots and the differentEigenIndex. This is called by classify(gmVector3) after the eigen values are found.
Definition at line 126 of file NewtonClassify.cpp. References differentEigenIndex, eigenValues, and getSurface(). Referenced by classify(). |
|
|
Returns the current surface being searched. This method is virtual and should be overridden (along with setSurface(Implicit*)) to keep the surface variable consistent.
Reimplemented in SearchCritical. Definition at line 55 of file NewtonClassify.cpp. References surface. Referenced by classify(), and countPosEigenValues(). |
|
|
Changes the surface to search. This method is called by the constructors to set up the private surface variable. It is also virtual and should be overridden (along with getSurface()) to keep the surface variable consistent.
Reimplemented in SearchCritical. Definition at line 43 of file NewtonClassify.cpp. Referenced by NewtonClassify(). |
|
|
The resulting kind of root after a call to classify(gmVector3).
Definition at line 62 of file NewtonClassify.h. Referenced by classify(). |
|
|
The index of the eigen value/vector that has a different sign from the others, or -1 if all eigen values are the same sign.
Definition at line 67 of file NewtonClassify.h. Referenced by countPosEigenValues(). |
|
|
The resulting eigen values after a call to classify(gmVector3).
Definition at line 60 of file NewtonClassify.h. Referenced by classify(), and countPosEigenValues(). |
|
|
The resulting eigen vectors after a call to classify(gmVector3).
Definition at line 58 of file NewtonClassify.h. Referenced by classify(). |
|
|
A list of the kind of each critical point in the fRoots list.
Definition at line 47 of file NewtonClassify.h. Referenced by classify(), CriticalPointInterrogator::cleanup(), and SearchCritical::display(). |
|
|
A list of the eigen values of each critical point in fRoots.
Definition at line 51 of file NewtonClassify.h. Referenced by classify(), and CriticalPointInterrogator::cleanup(). |
|
|
A list of the eigen vectors of each critical point in fRoots.
Definition at line 49 of file NewtonClassify.h. Referenced by classify(), and CriticalPointInterrogator::cleanup(). |
|
|
Classify critical points for this Implicit surface.
Reimplemented in SearchCritical. Definition at line 40 of file NewtonClassify.h. Referenced by getSurface(), and setSurface(). |
1.3.4