|
virtual vtkTypeBool | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
|
|
vtkGeneralizedKernel * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
vtkIdType | ComputeBasis (double x[3], vtkIdList *pIds, vtkIdType ptId=0) override |
| Based on the kernel style, invoke the appropriate locator method to obtain the points making up the basis. More...
|
|
virtual vtkIdType | ComputeWeights (double x[3], vtkIdList *pIds, vtkDoubleArray *prob, vtkDoubleArray *weights)=0 |
| Given a point x, a list of basis points pIds, and a probability weighting function prob, compute interpolation weights associated with these basis points. More...
|
|
vtkIdType | ComputeWeights (double x[3], vtkIdList *pIds, vtkDoubleArray *weights) override |
| Given a point x, and a list of basis points pIds, compute interpolation weights associated with these basis points. More...
|
|
virtual void | SetKernelFootprint (int) |
| Specify the interpolation basis style. More...
|
|
virtual int | GetKernelFootprint () |
|
void | SetKernelFootprintToRadius () |
|
void | SetKernelFootprintToNClosest () |
|
virtual void | SetRadius (double) |
| If the interpolation basis style is Radius, then this method specifies the radius within which the basis points must lie. More...
|
|
virtual double | GetRadius () |
|
virtual void | SetNumberOfPoints (int) |
| If the interpolation basis style is NClosest, then this method specifies the number of the closest points used to form the interpolation basis. More...
|
|
virtual int | GetNumberOfPoints () |
|
virtual void | SetNormalizeWeights (bool) |
| Indicate whether the interpolation weights should be normalized after they are computed. More...
|
|
virtual bool | GetNormalizeWeights () |
|
virtual void | NormalizeWeightsOn () |
|
virtual void | NormalizeWeightsOff () |
|
| vtkAbstractTypeMacro (vtkInterpolationKernel, vtkObject) |
| Standard method for type and printing. More...
|
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
virtual void | Initialize (vtkAbstractPointLocator *loc, vtkDataSet *ds, vtkPointData *pd) |
| Initialize the kernel. More...
|
|
virtual void | SetRequiresInitialization (bool) |
| Indicate whether the kernel needs initialization. More...
|
|
virtual bool | GetRequiresInitialization () |
|
virtual void | RequiresInitializationOn () |
|
virtual void | RequiresInitializationOff () |
|
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) |
|
virtual void | DebugOn () |
| Turn debugging output on. More...
|
|
virtual void | DebugOff () |
| Turn debugging output off. More...
|
|
bool | GetDebug () |
| Get the value of the debug flag. More...
|
|
void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More...
|
|
virtual void | Modified () |
| Update the modification time for this object. More...
|
|
virtual vtkMTimeType | GetMTime () |
| Return this object's modified time. More...
|
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
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 *) |
|
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
|
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
vtkTypeBool | HasObserver (unsigned long event) |
|
vtkTypeBool | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
|
|
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) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
|
|
int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More...
|
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
| Return the class name as a string. More...
|
|
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
|
|
virtual void | Delete () |
| Delete a VTK object. More...
|
|
virtual void | FastDelete () |
| Delete a reference to this object. More...
|
|
void | InitializeObjectBase () |
|
void | Print (ostream &os) |
| Print an object to an ostream. More...
|
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
virtual void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). More...
|
|
virtual void | UnRegister (vtkObjectBase *o) |
| Decrease the reference count (release by another object). More...
|
|
int | GetReferenceCount () |
| Return the current reference count of this object. More...
|
|
void | SetReferenceCount (int) |
| Sets the reference count. More...
|
|
bool | GetIsInMemkind () const |
| A local state flag that remembers whether this object lives in the normal or extended memory space. More...
|
|
flexible, general interpolation kernels
vtkGeneralizedKernel is an abstract class that defines an API for concrete general-purpose, kernel subclasses. vtkGeneralizedKernels has important properties that make them useful in a variety of interpolation applications:
1. The weights are normalized.
2. The footprint of the basis is configurable.
3. Probabilistic weighting functions can be used to favor certain weights.
The following paragraphs describe each of these properties in more detail.
Normalized weightings simple mean Sum(w_i) = 1. This ensures that the interpolation process is well behaved.
The interpolation footprint is the set of points that are used to perform the interpolation process. For example, it is possible to choose between a radius-based kernel selection, and one based on the N nearest neighbors. Note that the performance and mathematical properties of kernels may vary greatly depending on which kernel style is selected. For example, if a radius-based kernel footprint is used, and the radius is too big, the algorithm can perform in n^3 fashion.
Finally, in advanced usage, probability functions can be applied to the interpolation weights (prior to normalization). These probability functions are confidence estimates that the data at a particular point is accurate. A typical application is when laser scans are used to acquire point measurements, which return normals that indicate glancing returns versus direct, near orthogonal hits. Another use is when point clouds are combined, where some clouds are acquired with more accurate, detailed devices versus a broad, potentially coarser acquisition process.
- Warning
- Some kernels, like the Voronoi kernel, cannot be subclasses of this class because their definition inherently defines the basis style. For example, the Voronoi kernel is simply the single closest point. SPH kernels are similar, because they implicitly depend on a particle distribution consistent with simulation constraints such as conservation of mass, etc.
- See also
- vtkPointInterpolator vtkPointInterpolator2D vtkGaussianKernel vtkSPHKernel vtkShepardKernel vtkLinearKernel vtkVoronoiKernel
Definition at line 69 of file vtkGeneralizedKernel.h.