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


Functions are provided for evaluating the implicit surface function at a point in space as well as the gradient and Hessian.
Definition at line 18 of file Sphere.h.
Public Member Functions | |
| Sphere () | |
| Creates the default sphere of radius 1 at the origin. | |
| Sphere (double r) | |
| Creates a sphere with radius r at the origin. | |
| Sphere (gmVector3 x, double r) | |
| Creates a sphere with radius r at position x. | |
| virtual double | proc (gmVector3 x) |
| Evaluates the implicit function of a sphere: f(x) = ||x - m_x|| - R. | |
| virtual gmVector3 | grad (gmVector3 x) |
| Evaluates the gradient of a sphere. | |
| virtual gmMatrix3 | hess (gmVector3 x) |
| Returns the Hessian of a Geometric sphere:. | |
| virtual Intervald | proc (Box< double >) |
| proc returns the evaluation of the function that defines the Implicit surface. | |
| virtual Box3d | grad (Box< double >) |
| virtual IMatrix3d | hess (Box< double >) |
| virtual Intervald | proct (Box< double >) |
| virtual Box3d | gradt (Box< double >) |
| virtual void | procq (gmVector3, double *) |
| Evaluates df/dq f = (x-c).(x-c)^1/2 - r df/dc = -(x-c)/(((x-c).(x-c))^1/2) df/dr = -1. | |
| virtual void | getq (double *) |
| Loads parameters into q. | |
| virtual void | _setq (double *) |
| Loads parameters from q. | |
| virtual int | qlen () |
| Number of implicit model parameters for this implicit object including its children. | |
| virtual void | getqname (char **qn) |
| Returns a list of parameter names. | |
| virtual double | area () |
| Determines the surface area of the Implicit. | |
| virtual const char ** | getPixmapXPM (const int &size) const |
| Returns the Pixmap for the Surface as a char* in the XPM image format. | |
| MAKE_NAME () | |
Protected Member Functions | |
| void | init (gmVector3, double) |
| Called by the various constructors to allow for a single location for the init of a Sphere object. | |
| Box3d | m_xlrp (Intervald) |
| Convenience function for the calculation of a LRP over a time interval for a particular m_x. | |
| Intervald | m_rlrp (Intervald) |
Protected Attributes | |
| gmVector3 | m_x |
| Center. | |
| double | m_r |
| Radius. | |
|
|
Creates the default sphere of radius 1 at the origin.
Definition at line 27 of file Sphere.cpp. References init(). |
|
|
Creates a sphere with radius r at the origin.
Definition at line 36 of file Sphere.cpp. References init(). |
|
||||||||||||
|
Creates a sphere with radius r at position x.
Definition at line 45 of file Sphere.cpp. References init(). |
|
|
Loads parameters from q.
Reimplemented from Implicit. Reimplemented in Point. Definition at line 262 of file Sphere.cpp. |
|
|
Determines the surface area of the Implicit. For now, -1 means area cannot be calculated.
Reimplemented from Implicit. |
|
|
Returns the Pixmap for the Surface as a char* in the XPM image format. This is a icon that can be used to represent the implicit in a GUI environment. Reimplemented from Implicit. Definition at line 282 of file Sphere.cpp. |
|
|
Loads parameters into q.
Reimplemented from Implicit. Reimplemented in Point. Definition at line 251 of file Sphere.cpp. |
|
|
Returns a list of parameter names.
Reimplemented from Implicit. Reimplemented in Point. Definition at line 274 of file Sphere.cpp. |
|
|
Reimplemented from Implicit. Definition at line 165 of file Sphere.cpp. References convert(), Intervald, Interval< Type >::isZero(), Box< double >::lengthSquared(), m_x, m_xlrp(), and Interval< Type >::sqrt(). |
|
|
Evaluates the gradient of a sphere.
Reimplemented from Implicit. Definition at line 97 of file Sphere.cpp. References m_x. |
|
|
Reimplemented from Implicit. Definition at line 223 of file Sphere.cpp. |
|
|
Reimplemented from Implicit. Definition at line 190 of file Sphere.cpp. References Intervald, Interval< Type >::isZero(), Box< double >::lengthSquared(), Interval< Type >::pow(), and Interval< Type >::sqrt(). |
|
|
Returns the Hessian of a Geometric sphere:. f(X) = (x*x + y*y + z*z)^1/2 - r df/dx = 2x * 1/2(x*x + y*y + z*z)^-1/2 grad f = x/(X.X)^1/2 d^2f/dx^2 = 1/(X.X)^1/2 - x^2/(X.X)^3/2 d^2f/dxdy = -xy/(X.X)^3/2
Reimplemented from Implicit. Definition at line 119 of file Sphere.cpp. |
|
||||||||||||
|
Called by the various constructors to allow for a single location for the init of a Sphere object.
Definition at line 18 of file Sphere.cpp. Referenced by Sphere(). |
|
|
Definition at line 70 of file Sphere.cpp. References Implicit::getqold(), Intervald, m_r, and qlen(). Referenced by proc(). |
|
|
Convenience function for the calculation of a LRP over a time interval for a particular m_x. We use the "current" and the "last" coefficients to calculate an interval of the coefficients over a given time interval. This is used for 4D critical point finding. Definition at line 57 of file Sphere.cpp. |
|
|
Reimplemented in Point. |
|
|
proc returns the evaluation of the function that defines the Implicit surface. In normal circumstances, the gmVector3 version of proc defaults to a pure virtual function which means that you must define proc(gmVector3) in its subclasses. When INTERVAL_EVAL_ONLY is defined, the Implicit version of proc defaults to a pure virtual function and the gmVector3 version calls the Interval version. Either way, you must define proc() in subclasses of Implicit.
Reimplemented from Implicit. Definition at line 141 of file Sphere.cpp. References convert(), Intervald, Box< double >::length(), m_r, m_rlrp(), m_x, and m_xlrp(). |
|
|
Evaluates the implicit function of a sphere: f(x) = ||x - m_x|| - R.
Implements Implicit. Definition at line 87 of file Sphere.cpp. |
|
||||||||||||
|
Evaluates df/dq f = (x-c).(x-c)^1/2 - r df/dc = -(x-c)/(((x-c).(x-c))^1/2) df/dr = -1.
Reimplemented from Implicit. Definition at line 234 of file Sphere.cpp. References m_x. |
|
|
Reimplemented from Implicit. Definition at line 215 of file Sphere.cpp. References Intervald. |
|
|
Number of implicit model parameters for this implicit object including its children.
Reimplemented from Implicit. Reimplemented in Point. |
|
|
Radius.
Definition at line 22 of file Sphere.h. Referenced by _setq(), area(), getq(), init(), m_rlrp(), and proc(). |
|
|
Center.
Definition at line 21 of file Sphere.h. Referenced by _setq(), Point::_setq(), getq(), Point::getq(), grad(), init(), m_xlrp(), proc(), and procq(). |
1.3.4