void MagnifyingGlassTool::updateMagnifiedView()
{
    QPoint eventPosition = m_2DViewer->getEventPosition();
    QSize renderWindowSize = m_2DViewer->getRenderWindowSize();

    QRect renderWindowBounds(QPoint(0, 0), renderWindowSize);
    if (!renderWindowBounds.contains(eventPosition))
    {
        // Si el punt està fora de la render window amaguem i sortim
        removeMagnifiedRenderer();
        return;
    }
    
    double xyz[3];
    if (!m_2DViewer->getCurrentCursorImageCoordinate(xyz))
    {
        m_2DViewer->getEventWorldCoordinate(xyz);
    }

    m_2DViewer->setCursor(QCursor(Qt::BlankCursor));
    
    // Actualitzem el viewport
    updateMagnifiedRendererViewport(eventPosition, renderWindowSize);
    updateCamera();
    
    if (!m_magnifyingRendererIsVisible)
    {
        addMagnifiedRenderer();
    }
    
    // Actualitzem la posició que enfoca la càmera
    setFocalPoint(xyz);
    m_magnifiedRenderer->ResetCameraClippingRange();
    m_2DViewer->render();
}
VGradientEx::VGradientEx( VGradientEx::Type type ) : m_type( type )
{
	// set up dummy gradient
	addStop( ScColor(255,0,0) , 0.0, 0.5, 1.0 );
	addStop( ScColor(255,255,0) , 1.0, 0.5, 1.0 );

	setOrigin( FPoint( 0, 0 ) );
	setVector( FPoint( 0, 50 ) );
	setFocalPoint( FPoint( 0, 0 ) );
	setRepeatMethod( VGradientEx::pad );
}
Exemple #3
0
void RCPerspectiveCamera::moveToFit(
    const Eks::Vector3D &pos,
    const Eks::Vector3D &lookDir,
    float upDist,
    float upDistDist)
  {
  const float distFromCamera = upDist * tanf(fieldOfView());

  const Eks::Vector3D cameraPos = pos + (lookDir * (distFromCamera + upDistDist));

  setPosition(cameraPos);
  setFocalPoint(pos);
  }
Exemple #4
0
void VtkTrackedCamera::translate(double x, double y, double z)
{
	setFocalPoint(_focalPoint[0] + x, _focalPoint[1] + y, _focalPoint[2] + z);
	updateView();
}