Definition in file Implicit.h.
#include <string>
#include <valarray>
#include <vector>
#include <sstream>
#include "factory.h"
#include "pixmaps.h"
#include "Surface.h"
#include "Interval.h"
#include "Box.h"
#include "IMatrix.h"
#include "Polygonizer/jbvertices.h"
#include "gmTNTconvert.h"
Include dependency graph for Implicit.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Classes | |
| class | Implicit |
| The master class of all implicit surfaces. More... | |
Defines | |
| #define | VIRTUAL_DERIV virtual |
| If you are using the standard versions of grad() and hess() (ie. | |
| #define | M_PI 3.14159265358979323846 |
| #define | REGISTER_IMPLICIT(class_name, class_string) |
| Macro to register a new Implicit subclass. | |
| #define | MAKE_NAME() |
| Macro to add name() and objectName functionality to all subclasses of Implicit. | |
| #define | IMPLICIT_REGISTRY genericFactory<Implicit>::instance().registry |
| Macro to get the registry for the ImplicitFactory. | |
| #define | NEW_IMPLICIT(class_string) genericFactory<Implicit>::instance().create(class_string); |
| Macro to construct a new subclass of Implicit. | |
Typedefs | |
| typedef std::valarray< double > | DoubleArray |
| typedef std::vector< double > | DoubleVector |
| typedef std::vector< std::string > | NameVector |
| typedef genericFactory< Implicit > | ImplicitFactory |
| Shorthand type for a factory that creates Implicits. | |
| typedef genericFactory< Implicit >::FN_REGISTRY | ImplicitRegistry |
| Shorthand type for the ImplicitFactory registry. | |
Functions | |
| gmMatrix3 | outer (gmVector3 x, gmVector3 y) |
| Computes the outer product between to 3-vectors. | |
| IMatrix3d | outer (Box3d x, Box3d y) |
| Interval version of outer product of two Boxes. | |
|
|
Macro to get the registry for the ImplicitFactory. The registry is a map of classname strings to new class constructors.
Definition at line 432 of file Implicit.h. |
|
|
Definition at line 108 of file Implicit.h. Referenced by ParticleShader::applyTransformations(), Sphere::area(), CatmullClarkSubdivision::divideFace(), ModButterflySubdivision::ExceptionalVertex(), ParticleRendererGL::ParticleRendererGL(), and sphericalMotion(). |
|
|
Value: static std::string registry_name; \ virtual const std::string name() { return registry_name; } \ virtual void resetObjectName() { \ std::ostringstream objectNumberName; \ objectNumberName << ":" << ++objectNumber; \ objectName = Implicit::defaultObjectNamePrefix + name() + \ objectNumberName.str(); \ }
Definition at line 418 of file Implicit.h. |
|
|
Macro to construct a new subclass of Implicit.
Definition at line 440 of file Implicit.h. Referenced by ImpFileManager::readImplicit(). |
|
|
Value: int grab##class_name; \ std::string class_name::registry_name = class_string; \ namespace { \ registerInFactory<Implicit,class_name> registerMe(class_name::registry_name);\ }
Definition at line 408 of file Implicit.h. |
|
|
If you are using the standard versions of grad() and hess() (ie. you have not defined INTERVAL_EVAL_ONLY), you may #undef VIRTUAL_DERIV to force grad() and hess() to use numerical approximations of the functions EVEN IF these methods are overridden in subclasses. You may want to do this when testing out new implemenations of grad() and hess() to verify that they are accurate. Definition at line 103 of file Implicit.h. |
|
|
Definition at line 111 of file Implicit.h. Referenced by SurfacePropagation::applyConstraint(), SurfaceAdhesion::applyConstraint(), Implicit::getq(), Implicit::getqold(), Implicit::interpolate(), Implicit::procq(), and Implicit::setq(). |
|
|
Definition at line 112 of file Implicit.h. Referenced by ParticleStuff::getq(), Implicit::getq(), Implicit::getqold(), ParticleStuff::getqpp(), Implicit::procq(), ParFileManager::readParticles(), ParticleStuff::setq(), Implicit::setq(), ParticleStuff::setqpp(), and ParFileManager::writeParticles(). |
|
|
Shorthand type for a factory that creates Implicits. ImplicitFactory is a genericFactory<Implicit>. Definition at line 394 of file Implicit.h. |
|
|
Shorthand type for the ImplicitFactory registry. This type is essentially a map of classname strings to functions that create the new class.
Definition at line 401 of file Implicit.h. |
|
|
Definition at line 113 of file Implicit.h. Referenced by Implicit::getqname(), ParticleStuff::qname(), ParticleStuff::qnamepp(), ParticleStuff::qshortname(), ParFileManager::readParticles(), and ParFileManager::writeParticles(). |
|
||||||||||||
|
Interval version of outer product of two Boxes.
Definition at line 1260 of file Implicit.cpp. Referenced by Blob::hess(), Blend::hess(), and RBF::hessphi(). |
|
||||||||||||
|
Computes the outer product between to 3-vectors. The result might be the transpose of what it really should be. I haven't checked the ordering.
Definition at line 1251 of file Implicit.cpp. |
1.3.4