00001
00002
00003
00004
00005 #pragma once
00006
00007 #include <vtkRenderer.h>
00008 #include <vtkWin32OpenGLRenderWindow.h>
00009 #include <vtkWin32RenderWindowInteractor.h>
00010
00011 #include <vtkSphereSource.h>
00012 #include <vtkConeSource.h>
00013 #include <vtkGlyph3D.h>
00014 #include <vtkElevationFilter.h>
00015 #include <vtkPolyDataMapper.h>
00016 #include <vtkActor.h>
00017 #include <vtkCubeAxesActor2D.h>
00018 #include "vtkLoopSubdivisionFilter.h"
00019 #include "vtkLinearSubdivisionFilter.h"
00020 #include "vtkButterflySubdivisionFilter.h"
00021 #include "VTK3DSOurImporter.h"
00022 #include "vtkSQ3SubdivisionFilter.h"
00023
00024 class CvtkSq3SubdivisionView : public CView
00025 {
00026 protected:
00027 CvtkSq3SubdivisionView();
00028 DECLARE_DYNCREATE(CvtkSq3SubdivisionView)
00029
00030
00031 public:
00032 CvtkSq3SubdivisionDoc* GetDocument() const;
00033
00034 public:
00035
00036
00037 public:
00038 virtual void OnDraw(CDC* pDC);
00039 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
00040 protected:
00041 virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
00042 virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
00043 virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
00044 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
00045
00046 private:
00047 void Pipeline ( void );
00048 vtkWin32OpenGLRenderWindow *renWin;
00049 vtkRenderer *ren;
00050 vtkWin32RenderWindowInteractor *iren;
00051 vtkSphereSource *sphere;
00052 vtkPolyDataMapper *sphereMapper;
00053 vtkElevationFilter *sphereElevation;
00054 vtkActor *sphereActor;
00055 vtkConeSource *cone;
00056 vtkGlyph3D *glyph;
00057 vtkPolyDataMapper *spikeMapper;
00058 vtkActor *spikeActor;
00059 vtkCubeAxesActor2D *sphereAxis;
00060 vtkActorCollection *ac;
00061 vtkLoopSubdivisionFilter *loopFilter;
00062 vtkLinearSubdivisionFilter *linearFilter;
00063 vtkButterflySubdivisionFilter *butterflyFilter;
00064 vtkSQ3SubdivisionFilter *sq3Filter;
00065
00066 VTK3DSOurImporter *importer;
00067
00068 public:
00069 CSliderCtrl m_trackbar;
00070 CButton m_button1, m_button2, m_button3, m_button4;
00071 virtual ~CvtkSq3SubdivisionView();
00072 #ifdef _DEBUG
00073 virtual void AssertValid() const;
00074 virtual void Dump(CDumpContext& dc) const;
00075 #endif
00076
00077 protected:
00078
00079
00080 protected:
00081 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
00082 afx_msg void OnSize(UINT nType, int cx, int cy);
00083 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
00084 afx_msg void OnClick();
00085 DECLARE_MESSAGE_MAP()
00086 public:
00087
00088
00089 afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
00090 };
00091
00092 #ifndef _DEBUG // Debugversion in vtkSq3SubdivisionView.cpp
00093 inline CvtkSq3SubdivisionDoc* CvtkSq3SubdivisionView::GetDocument() const
00094 { return reinterpret_cast<CvtkSq3SubdivisionDoc*>(m_pDocument); }
00095 #endif
00096