#include <vtkExtractSelectedFrustum.h>
This class intersects the input DataSet with a frustum and determines which cells and points lie within the frustum. The frustum is defined with a vtkPlanes containing six cutting planes. The output is a DataSet that is either a shallow copy of the input dataset with two new "vtkInsidedness" attribute arrays, or a completely new UnstructuredGrid that contains only the cells and points of the input that are inside the frustum. The PreserveTopology flag controls which occurs. When PreserveTopology is off this filter adds a scalar array called vtkOriginalCellIds that says what input cell produced each output cell. This is an example of a Pedigree ID which helps to trace back results.
Definition at line 50 of file vtkExtractSelectedFrustum.h.
Public Types | |
typedef vtkExtractSelectionBase | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
unsigned long | GetMTime () |
void | CreateFrustum (double vertices[32]) |
int | OverallBoundsTest (double *bounds) |
virtual void | SetFrustum (vtkPlanes *) |
virtual vtkPlanes * | GetFrustum () |
virtual vtkPoints * | GetClipPoints () |
virtual void | SetFieldType (int) |
virtual int | GetFieldType () |
virtual void | SetContainingCells (int) |
virtual int | GetContainingCells () |
virtual void | SetShowBounds (int) |
virtual int | GetShowBounds () |
virtual void | ShowBoundsOn () |
virtual void | ShowBoundsOff () |
virtual void | SetInsideOut (int) |
virtual int | GetInsideOut () |
virtual void | InsideOutOn () |
virtual void | InsideOutOff () |
Static Public Member Functions | |
static vtkExtractSelectedFrustum * | New () |
static int | IsTypeOf (const char *type) |
static vtkExtractSelectedFrustum * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkExtractSelectedFrustum (vtkPlanes *f=NULL) | |
~vtkExtractSelectedFrustum () | |
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
int | ABoxFrustumIsect (double bounds[], vtkCell *cell) |
int | FrustumClipPolygon (int nverts, double *ivlist, double *wvlist, double *ovlist) |
void | PlaneClipPolygon (int nverts, double *ivlist, int pid, int &noverts, double *ovlist) |
void | PlaneClipEdge (double *V0, double *V1, int pid, int &noverts, double *overts) |
int | IsectDegenerateCell (vtkCell *cell) |
void | ComputePlane (int idx, double v0[3], double v1[2], double v2[3], vtkPoints *points, vtkDoubleArray *norms) |
Protected Attributes | |
int | FieldType |
int | ContainingCells |
int | InsideOut |
vtkPlanes * | Frustum |
int | np_vertids [6][2] |
vtkPoints * | ClipPoints |
int | NumRejects |
int | NumIsects |
int | NumAccepts |
int | ShowBounds |
Reimplemented from vtkExtractSelectionBase.
Definition at line 54 of file vtkExtractSelectedFrustum.h.
vtkExtractSelectedFrustum::vtkExtractSelectedFrustum | ( | vtkPlanes * | f = NULL |
) | [protected] |
vtkExtractSelectedFrustum::~vtkExtractSelectedFrustum | ( | ) | [protected] |
static vtkExtractSelectedFrustum* vtkExtractSelectedFrustum::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkDataObjectAlgorithm.
virtual const char* vtkExtractSelectedFrustum::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkExtractSelectionBase.
static int vtkExtractSelectedFrustum::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkExtractSelectionBase.
virtual int vtkExtractSelectedFrustum::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkExtractSelectionBase.
static vtkExtractSelectedFrustum* vtkExtractSelectedFrustum::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkExtractSelectionBase.
void vtkExtractSelectedFrustum::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkExtractSelectionBase.
unsigned long vtkExtractSelectedFrustum::GetMTime | ( | ) | [virtual] |
Return the MTime taking into account changes to the Frustum
Reimplemented from vtkObject.
virtual void vtkExtractSelectedFrustum::SetFrustum | ( | vtkPlanes * | ) | [virtual] |
Set the selection frustum. The planes object must contain six planes.
virtual vtkPlanes* vtkExtractSelectedFrustum::GetFrustum | ( | ) | [virtual] |
Set the selection frustum. The planes object must contain six planes.
void vtkExtractSelectedFrustum::CreateFrustum | ( | double | vertices[32] | ) |
Given eight vertices, creates a frustum. each pt is x,y,z,1 in the following order near lower left, far lower left near upper left, far upper left near lower right, far lower right near upper right, far upper right
virtual vtkPoints* vtkExtractSelectedFrustum::GetClipPoints | ( | ) | [virtual] |
Return eight points that define the selection frustum. Valid if create Frustum was used, invalid if SetFrustum was.
virtual void vtkExtractSelectedFrustum::SetFieldType | ( | int | ) | [virtual] |
Sets/gets the intersection test type.
virtual int vtkExtractSelectedFrustum::GetFieldType | ( | ) | [virtual] |
Sets/gets the intersection test type.
virtual void vtkExtractSelectedFrustum::SetContainingCells | ( | int | ) | [virtual] |
Sets/gets the intersection test type. Only meaningful when fieldType is vtkSelection::POINT
virtual int vtkExtractSelectedFrustum::GetContainingCells | ( | ) | [virtual] |
Sets/gets the intersection test type. Only meaningful when fieldType is vtkSelection::POINT
int vtkExtractSelectedFrustum::OverallBoundsTest | ( | double * | bounds | ) |
Does a quick test on the AABBox defined by the bounds.
virtual void vtkExtractSelectedFrustum::SetShowBounds | ( | int | ) | [virtual] |
When On, this returns an unstructured grid that outlines selection area. Off is the default.
virtual int vtkExtractSelectedFrustum::GetShowBounds | ( | ) | [virtual] |
When On, this returns an unstructured grid that outlines selection area. Off is the default.
virtual void vtkExtractSelectedFrustum::ShowBoundsOn | ( | ) | [virtual] |
When On, this returns an unstructured grid that outlines selection area. Off is the default.
virtual void vtkExtractSelectedFrustum::ShowBoundsOff | ( | ) | [virtual] |
When On, this returns an unstructured grid that outlines selection area. Off is the default.
virtual void vtkExtractSelectedFrustum::SetInsideOut | ( | int | ) | [virtual] |
When on, extracts cells outside the frustum instead of inside.
virtual int vtkExtractSelectedFrustum::GetInsideOut | ( | ) | [virtual] |
When on, extracts cells outside the frustum instead of inside.
virtual void vtkExtractSelectedFrustum::InsideOutOn | ( | ) | [virtual] |
When on, extracts cells outside the frustum instead of inside.
virtual void vtkExtractSelectedFrustum::InsideOutOff | ( | ) | [virtual] |
When on, extracts cells outside the frustum instead of inside.
virtual int vtkExtractSelectedFrustum::RequestDataObject | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
Sets up empty output dataset
Reimplemented from vtkExtractSelectionBase.
virtual int vtkExtractSelectedFrustum::RequestData | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [protected, virtual] |
Reimplemented from vtkDataObjectAlgorithm.
int vtkExtractSelectedFrustum::ABoxFrustumIsect | ( | double | bounds[], | |
vtkCell * | cell | |||
) | [protected] |
int vtkExtractSelectedFrustum::FrustumClipPolygon | ( | int | nverts, | |
double * | ivlist, | |||
double * | wvlist, | |||
double * | ovlist | |||
) | [protected] |
void vtkExtractSelectedFrustum::PlaneClipPolygon | ( | int | nverts, | |
double * | ivlist, | |||
int | pid, | |||
int & | noverts, | |||
double * | ovlist | |||
) | [protected] |
void vtkExtractSelectedFrustum::PlaneClipEdge | ( | double * | V0, | |
double * | V1, | |||
int | pid, | |||
int & | noverts, | |||
double * | overts | |||
) | [protected] |
int vtkExtractSelectedFrustum::IsectDegenerateCell | ( | vtkCell * | cell | ) | [protected] |
void vtkExtractSelectedFrustum::ComputePlane | ( | int | idx, | |
double | v0[3], | |||
double | v1[2], | |||
double | v2[3], | |||
vtkPoints * | points, | |||
vtkDoubleArray * | norms | |||
) | [protected] |
int vtkExtractSelectedFrustum::FieldType [protected] |
Definition at line 137 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::ContainingCells [protected] |
Definition at line 138 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::InsideOut [protected] |
Definition at line 139 of file vtkExtractSelectedFrustum.h.
vtkPlanes* vtkExtractSelectedFrustum::Frustum [protected] |
Definition at line 142 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::np_vertids[6][2] [protected] |
Definition at line 143 of file vtkExtractSelectedFrustum.h.
vtkPoints* vtkExtractSelectedFrustum::ClipPoints [protected] |
Definition at line 146 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::NumRejects [protected] |
Definition at line 147 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::NumIsects [protected] |
Definition at line 148 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::NumAccepts [protected] |
Definition at line 149 of file vtkExtractSelectedFrustum.h.
int vtkExtractSelectedFrustum::ShowBounds [protected] |
Definition at line 150 of file vtkExtractSelectedFrustum.h.