//=========================================================================
vtkGObjectView::vtkGObjectView()
{
- _renderer=NULL;
+ _baseView=NULL;
_objectActor=NULL;
+ _isFirstDragging=false;
}
//=========================================================================
}
//=========================================================================
- void vtkGObjectView::refresh()
+ void vtkGObjectView::update(int command)//virtual
{
- //paint();
+ //virtual
}
//=========================================================================
//=========================================================================
- void vtkGObjectView::setRenderer(vtkRenderer* renderer)
+ void vtkGObjectView::setBaseView(wxVtkBaseView* baseView)
{
- _renderer=renderer;
+ _baseView=baseView;
}
//=========================================================================
void vtkGObjectView::addVtkActors()//virtual
{
- _renderer->AddActor(_objectActor);
- _renderer->Render();
+ _baseView->GetRenderer()->AddActor(_objectActor);
+ _baseView->GetRenderer()->Render();
+ }
+
+ //=========================================================================
+
+ bool vtkGObjectView::isPointInside(int X,int Y) //virtual
+ {
+ // RaC In the actual version, always z=900
+ double xx=X,yy=Y,zz=900;
+ _baseView->TransCoordScreenToWorld(xx,yy,zz);
+ return _model->isPointInside(xx,yy,zz);
+ }
+
+ //=========================================================================
+
+ void vtkGObjectView::moveObject(int X,int Y) //virtual
+ {
+ // RaC In the actual version, always z=900
+ double xx=X,yy=Y,zz=900;
+ _baseView->TransCoordScreenToWorld(xx,yy,zz);
+
+
+
+ if(_isFirstDragging)
+ {
+ _isFirstDragging=false;
+
+ double xInic,yInic,zInic;
+ _model->getInicPoint(xInic,yInic,zInic);
+ dragDifX=xx-xInic;
+ dragDifY=yy-yInic;
+ }
+
+ _model->move(xx-dragDifX,yy-dragDifY,zz);
+
+ }
+
+ //=========================================================================
+
+ void vtkGObjectView::isFirstDragging(bool param)
+ {
+ _isFirstDragging=param;
+ dragDifX=0;
+ dragDifX=0;
}
//=========================================================================