|
void | SetControlMeshConnection (vtkAlgorithmOutput *algOutput) |
|
|
void | SetControlMeshData (vtkPolyData *controlMesh) |
|
vtkPolyData * | GetControlMeshData () |
|
|
virtual void | SetInitializeWeights (int) |
|
virtual int | GetInitializeWeights () |
|
virtual void | InitializeWeightsOn () |
|
virtual void | InitializeWeightsOff () |
|
vtkPointSetAlgorithm * | NewInstance () const |
|
vtkPolyData * | GetPolyDataOutput () |
|
vtkStructuredGrid * | GetStructuredGridOutput () |
|
vtkUnstructuredGrid * | GetUnstructuredGridOutput () |
|
vtkDataObject * | GetInput () |
|
vtkPointSet * | GetOutput () |
|
vtkPointSet * | GetOutput (int) |
|
void | SetInputData (vtkDataObject *) |
|
void | SetInputData (int, vtkDataObject *) |
|
void | SetInputData (vtkPointSet *) |
|
void | SetInputData (int, vtkPointSet *) |
|
void | AddInputData (vtkDataObject *) |
|
void | AddInputData (vtkPointSet *) |
|
void | AddInputData (int, vtkPointSet *) |
|
void | AddInputData (int, vtkDataObject *) |
|
virtual int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
vtkAlgorithm * | NewInstance () const |
|
int | HasExecutive () |
|
vtkExecutive * | GetExecutive () |
|
virtual void | SetExecutive (vtkExecutive *executive) |
|
virtual int | ModifyRequest (vtkInformation *request, int when) |
|
vtkInformation * | GetInputPortInformation (int port) |
|
vtkInformation * | GetOutputPortInformation (int port) |
|
int | GetNumberOfInputPorts () |
|
int | GetNumberOfOutputPorts () |
|
void | UpdateProgress (double amount) |
|
vtkInformation * | GetInputArrayInformation (int idx) |
|
void | RemoveAllInputs () |
|
vtkDataObject * | GetOutputDataObject (int port) |
|
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | RemoveInputConnection (int port, int idx) |
|
virtual void | RemoveAllInputConnections (int port) |
|
int | GetNumberOfInputConnections (int port) |
|
int | GetTotalNumberOfInputConnections () |
|
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
|
vtkExecutive * | GetInputExecutive (int port, int index) |
|
vtkInformation * | GetInputInformation (int port, int index) |
|
vtkInformation * | GetOutputInformation (int port) |
|
virtual void | UpdateInformation () |
|
virtual void | UpdateDataObject () |
|
virtual void | PropagateUpdateExtent () |
|
virtual void | UpdateWholeExtent () |
|
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
|
int | SetUpdateExtentToWholeExtent (int port) |
|
int | SetUpdateExtentToWholeExtent () |
|
void | SetUpdateExtent (int port, int extent[6]) |
|
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
|
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime) |
|
virtual vtkInformation * | GetInformation () |
|
virtual void | SetInformation (vtkInformation *) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
virtual void | SetAbortExecute (int) |
|
virtual int | GetAbortExecute () |
|
virtual void | AbortExecuteOn () |
|
virtual void | AbortExecuteOff () |
|
virtual void | SetProgress (double) |
|
virtual double | GetProgress () |
|
void | SetProgressText (const char *ptext) |
|
virtual char * | GetProgressText () |
|
virtual unsigned long | GetErrorCode () |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
|
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
|
vtkDataObject * | GetInputDataObject (int port, int connection) |
|
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
|
virtual void | SetInputDataObject (vtkDataObject *data) |
|
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
|
virtual void | AddInputDataObject (vtkDataObject *data) |
|
vtkAlgorithmOutput * | GetOutputPort (int index) |
|
vtkAlgorithmOutput * | GetOutputPort () |
|
vtkAlgorithm * | GetInputAlgorithm () |
|
vtkExecutive * | GetInputExecutive () |
|
vtkInformation * | GetInputInformation () |
|
virtual void | Update (int port) |
|
virtual void | Update () |
|
virtual void | SetReleaseDataFlag (int) |
|
virtual int | GetReleaseDataFlag () |
|
void | ReleaseDataFlagOn () |
|
void | ReleaseDataFlagOff () |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
|
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int extent[6]) |
|
int * | GetUpdateExtent () |
|
int * | GetUpdateExtent (int port) |
|
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int extent[6]) |
|
void | GetUpdateExtent (int port, int extent[6]) |
|
int | GetUpdatePiece () |
|
int | GetUpdatePiece (int port) |
|
int | GetUpdateNumberOfPieces () |
|
int | GetUpdateNumberOfPieces (int port) |
|
int | GetUpdateGhostLevel () |
|
int | GetUpdateGhostLevel (int port) |
|
void | SetProgressObserver (vtkProgressObserver *) |
|
virtual vtkProgressObserver * | GetProgressObserver () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual unsigned long | GetMTime () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
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 *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
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) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
|
| vtkDeformPointSet () |
|
| ~vtkDeformPointSet () |
|
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
| vtkPointSetAlgorithm () |
|
| ~vtkPointSetAlgorithm () |
|
virtual int | FillOutputPortInformation (int port, vtkInformation *info) |
|
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
|
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
virtual int | ExecuteInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | ComputeInputUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
| vtkAlgorithm () |
|
| ~vtkAlgorithm () |
|
virtual void | SetNumberOfInputPorts (int n) |
|
virtual void | SetNumberOfOutputPorts (int n) |
|
int | InputPortIndexInRange (int index, const char *action) |
|
int | OutputPortIndexInRange (int index, const char *action) |
|
int | GetInputArrayAssociation (int idx, vtkInformationVector **inputVector) |
|
virtual vtkExecutive * | CreateDefaultExecutive () |
|
virtual void | ReportReferences (vtkGarbageCollector *) |
|
virtual void | SetNumberOfInputConnections (int port, int n) |
|
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
|
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
|
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
|
void | SetInputDataInternal (int port, vtkDataObject *input) |
|
void | AddInputDataInternal (int port, vtkDataObject *input) |
|
virtual void | SetErrorCode (unsigned long) |
|
| vtkObject () |
|
virtual | ~vtkObject () |
|
virtual void | RegisterInternal (vtkObjectBase *, int check) |
|
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
|
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
|
void | InternalReleaseFocus () |
|
| vtkObjectBase () |
|
virtual | ~vtkObjectBase () |
|
virtual void | CollectRevisions (ostream &) |
|
| vtkObjectBase (const vtkObjectBase &) |
|
void | operator= (const vtkObjectBase &) |
|
use a control polyhedron to deform an input vtkPointSet
vtkDeformPointSet is a filter that uses a control polyhdron to deform an input dataset of type vtkPointSet. The control polyhedron (or mesh) must be a closed, manifold surface.
The filter executes as follows. In initial pipeline execution, the control mesh and input vtkPointSet are assumed in undeformed position, and an initial set of interpolation weights are computed for each point in the vtkPointSet (one interpolation weight value for each point in the control mesh). The filter then stores these interpolation weights after filter execution. The next time the filter executes, assuming that the number of points/cells in the control mesh and vtkPointSet have not changed, the points in the vtkPointSet are recomputed based on the original weights. Hence if the control mesh has been deformed, it will in turn cause deformation in the vtkPointSet. This can be used to animate or edit the geometry of the vtkPointSet.
- Warning
- Note that a set of interpolation weights per point in the vtkPointSet is maintained. The number of interpolation weights is the number of points in the control mesh. Hence keep the control mesh small in size or a n^2 data explostion will occur.
-
The filter maintains interpolation weights between executions (after the initial execution pass computes the interpolation weights). You can explicitly cause the filter to reinitialize by setting the InitializeWeights boolean to true. By default, the filter will execute and then set InitializeWeights to false.
-
This work was motivated by the work of Tao Ju et al in "Mesh Value Coordinates
for Closed Triangular Meshes." The MVC algorithm is currently used to generate interpolation weights. However, in the future this filter may be extended to provide other interpolation functions.
-
A final note: point data and cell data are passed from the input to the output. Only the point coordinates of the input vtkPointSet are modified.
- See also
- vtkMeanValueCoordinatesInterpolator vtkProbePolyhedron vtkPolyhedron
- Tests:
- vtkDeformPointSet (Tests)
Definition at line 76 of file vtkDeformPointSet.h.