[vtkusers] to inherit a class

Amy Squillacote amy.squillacote at kitware.com
Wed Sep 14 13:40:14 EDT 2005


Hi Diego,

I'm posting your response back the VTK users 
list.  Please keep the discussion on the list; 
that way other people can help answer your 
questions, and the discussion will be in the archives for the mailing list.

- Amy

At 01:31 PM 9/14/2005, you wrote:
>hi.
>
>The problem not is a precompiler code lines, is the form of inheritance
>in the mail I omitted them
>
>
>2005/9/14, Amy Squillacote 
><<mailto:amy.squillacote at kitware.com>amy.squillacote at kitware.com>:
>Hi Diego,
>
>Did you include CvtkWin32OpenGLRenderWindow.h in
>your .cpp file?  (I'm guessing this is a subclass
>you created of vtkWin32OpenGLRenderWindow.)  Also
>vtkSetWindowLong is #define'd inside a few
>classes in VTK/Rendering, so you can't just use
>it; you would need to set the up the #define
>appropriately.  (See
>vtkWin32RenderWindowInteractor.cxx around line 50 for an example.)
>
>- Amy
>
>At 12:00 PM 9/14/2005, Diego Parada wrote:
> >Hi,
> >
> >I have been treating to derivate a clas from
> >vtkWindowRenderInteractor but the compilation showws this:
> >
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)
> >: error C2065: 'CvtkWin32OpenGLRenderWindow' : undeclared identifier
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)
> >: error C2065: 'tmp' : undeclared identifier
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)
> >: warning C4552: '*' : operator has no effect;
> >expected operator with side-effect
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35)
> >: error C2065: 'vtkWin32OpenGLRenderWindow' : undeclared identifier
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35)
> >: error C2065: 'ren' : undeclared identifier
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35)
> >: warning C4552: '*' : operator has no effect;
> >expected operator with side-effect
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(36)
> >: error C2061: syntax error : identifier 'vtkWin32OpenGLRenderWindow'
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(37)
> >: error C2059: syntax error : ')'
> >C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(50)
> >: error C2065: 'vtkSetWindowLong' : undeclared identifier
> >
> >the code is:
> >
> >file .h
> >
> >/////////////////////////////////////////////// 
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
>
> >#include "vtkWin32RenderWindowInteractor.h"
> >
> >class CvtkWin32RenderWindowInteractor : public 
> vtkWin32RenderWindowInteractor
> >{
> >
> >public:
> >     static CvtkWin32RenderWindowInteractor *New();
> >
> >     virtual void OnMouseMove  (HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnNCMouseMove(HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnRButtonDown(HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnRButtonUp  (HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnMButtonDown(HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnMButtonUp  (HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnLButtonDown(HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnLButtonUp  (HWND wnd, UINT nFlags, int X, int Y);
> >     virtual void OnSize       (HWND wnd, UINT nType,  int X, int Y);
> >     virtual void OnTimer      (HWND wnd, UINT nIDEvent);
> >     virtual void OnKeyDown    (HWND wnd, UINT
> > nChar, UINT nRepCnt, UINT nFlags);
> >     virtual void OnKeyUp      (HWND wnd, UINT
> > nChar, UINT nRepCnt, UINT nFlags);
> >     virtual void OnChar       (HWND wnd, UINT
> > nChar, UINT nRepCnt, UINT nFlags);
> >
> >protected:
> >
> >     CvtkWin32RenderWindowInteractor();
> >     virtual ~CvtkWin32RenderWindowInteractor();
> >
> >};
> >/////////////////////////////////////////////// 
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
>
> >file .cpp
> >/////////////////////////////////////////////// 
> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> >CvtkWin32RenderWindowInteractor::CvtkWin32RenderWindowInteractor()
> >{
> >   static int timerId           = 1;
> >   this->WindowId           = 0;
> >   this->TimerId            = timerId++;
> >   this->InstallMessageProc = 1;
> >   this->MouseInWindow = 0;
> >}
> >
> >CvtkWin32RenderWindowInteractor::~CvtkWin32RenderWindowInteractor()
> >{
> >
> >     CvtkWin32OpenGLRenderWindow *tmp;
> >
> >   // we need to release any hold we have on a windows event loop
> >   if (this->WindowId && this->Enabled && this->InstallMessageProc)
> >     {
> >     vtkWin32OpenGLRenderWindow *ren;
> >     ren = static_cast<vtkWin32OpenGLRenderWindow *>(this->RenderWindow);
> >     tmp = (vtkWin32OpenGLRenderWindow 
> *)(vtkGetWindowLong(this->WindowId,4));
> >     // watch for odd conditions
> >     if ((tmp != ren) && (ren != NULL))
> >       {
> >       // OK someone else has a hold on our event handler
> >       // so lets have them handle this stuff
> >       // well send a USER message to the other
> >       // event handler so that it can properly
> >       // call this event handler if required
> >
> >CallWindowProc(this->OldProc,this->WindowId,WM_ 
> USER+14,28,(LONG)this->OldProc);
> >       }
> >     else
> >       {
> >       vtkSetWindowLong(this->WindowId,GWL_WNDPROC,(LONG)this->OldProc);
> >       }
> >     this->Enabled = 0;
> >     }
> >}
> >
> >void
> >CvtkWin32RenderWindowInteractor::OnMouseMove
> >(HWND wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnNCMouseMove(HWND
> >wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnRButtonDown(HWND
> >wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnRButtonUp
> >(HWND wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnMButtonDown(HWND
> >wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnMButtonUp
> >(HWND wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnLButtonDown(HWND
> >wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnLButtonUp
> >(HWND wnd, UINT nFlags, int X, int Y)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnSize
> >(HWND wnd, UINT nType,  int X, int Y)
> >{
> >}
> >void CvtkWin32RenderWindowInteractor::OnTimer      (HWND wnd, UINT nIDEvent)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnKeyDown
> >(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnKeyUp
> >(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags)
> >{
> >}
> >void
> >CvtkWin32RenderWindowInteractor::OnChar
> >(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags)
> >{
> >}
> >/////////////////////////////////////////////// 
> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> >of course with vtkWin32RenderWindowInteractor.h include
> >
> >Somebody can help me?
> >
> >Thanks
> >--
> >Diego Armando Parada Cuervo
> >Estudiante de Ingeniería de Sistemas y Computación
> >Universidad Pedagógica y Tecnológica de Colombia
> >_______________________________________________
> >This is the private VTK discussion list.
> >Please keep messages on-topic. Check the FAQ at:
> ><http://www.vtk.org/Wiki/VTK_FAQ>http://www.vtk.org/Wiki/VTK_FAQ
> >Follow this link to subscribe/unsubscribe:
> ><http://www.vtk.org/mailman/listinfo/vtkusers>h 
> ttp://www.vtk.org/mailman/listinfo/vtkusers
>
>
>
>
>--
>Diego Armando Parada Cuervo
>Estudiante de Ingeniería de Sistemas y Computación
>Universidad Pedagógica y Tecnológica de Colombia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20050914/69752f0e/attachment.htm>


More information about the vtkusers mailing list