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 ); }
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); }
void VtkTrackedCamera::translate(double x, double y, double z) { setFocalPoint(_focalPoint[0] + x, _focalPoint[1] + y, _focalPoint[2] + z); updateView(); }