avtConeFilter.h 2.58 KB
Newer Older
hrchilds's avatar
hrchilds committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// ************************************************************************* //
//  File: avtConeFilter.h
// ************************************************************************* //

#ifndef AVT_Cone_FILTER_H
#define AVT_Cone_FILTER_H


#include <avtPluginStreamer.h>
#include <ConeAttributes.h>


class vtkClipPolyData;
class vtkCone;
hrchilds's avatar
hrchilds committed
15
class vtkVisItCutter;
hrchilds's avatar
hrchilds committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
class vtkDataSet;
class vtkImplicitBoolean;
class vtkPlane;
class vtkTransformPolyDataFilter;

class vtkPolarTransformFilter;


// ****************************************************************************
//  Class: avtConeFilter
//
//  Purpose:
//      A plugin operator for Cone.
//
//  Programmer: childs -- generated by xml2info
//  Creation:   Wed May 29 16:09:58 PST 2002
//
//  Modifications:
//    Kathleen Bonnell, Tue May 20 10:23:38 PDT 2003
//    Added method PerformRestriction.
//
hrchilds's avatar
hrchilds committed
37 38 39 40
//    Kathleen Bonnell, Thu Apr 28 10:28:22 PDT 2005
//    Use vtkVisItCutter instead of vtkCutter, since it has logic to correctly
//    handle CellData.
//
hrchilds's avatar
hrchilds committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
// ****************************************************************************

class avtConeFilter : public avtPluginStreamer
{
  public:
                                 avtConeFilter();
    virtual                     ~avtConeFilter();

    static avtFilter            *Create();

    virtual const char          *GetType(void)  { return "avtConeFilter"; };
    virtual const char          *GetDescription(void) 
                                             { return "Slicing by a cone"; };
    virtual void                 ReleaseData(void);

    virtual void                 SetAtts(const AttributeGroup*);
    virtual bool                 Equivalent(const AttributeGroup*);

  protected:
    ConeAttributes               atts;
    vtkCone                     *cone;
hrchilds's avatar
hrchilds committed
62
    vtkVisItCutter              *cutter;
hrchilds's avatar
hrchilds committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
    vtkImplicitBoolean          *allFunctions;
    vtkPlane                    *plane;
    vtkPolarTransformFilter     *polar;
    vtkTransformPolyDataFilter  *transform;
    vtkClipPolyData             *clipOffSides;
    vtkClipPolyData             *clipBottom;
    vtkPlane                    *planeToClipBottom;
    vtkClipPolyData             *clipByLength;
    vtkPlane                    *planeToClipByLength;

    virtual vtkDataSet          *ExecuteData(vtkDataSet *, int, std::string);
    virtual void                 RefashionDataObjectInfo(void);
    void                         SetUpClipping(void);
    void                         SetUpCone(void);
    void                         SetUpProjection(void);
    avtPipelineSpecification_p   PerformRestriction(avtPipelineSpecification_p);
};


#endif