other versions
- wheezy-backports 3.1.4~abc9f50-3~bpo70+1
- jessie 3.1.4~abc9f50-7
SbViewportRegion(3) | Coin | SbViewportRegion(3) |
NAME¶
SbViewportRegion - The SbViewportRegion class is a viewport within a full window. The SbViewportRegion class contains information to represent a subview within a window. It stores information about the origin and size of the subview, aswell as the size of the underlying 'full' window.SYNOPSIS¶
#include <Inventor/SbViewportRegion.h>Public Member Functions¶
SbViewportRegion (void)
Friends¶
int operator== (const SbViewportRegion ®1, const SbViewportRegion ®2)
Detailed Description¶
The SbViewportRegion class is a viewport within a full window. The SbViewportRegion class contains information to represent a subview within a window. It stores information about the origin and size of the subview, aswell as the size of the underlying 'full' window.// Copyright (C) by Kongsberg Oil & Gas Technologies. All rights reserved. #include <Inventor/Qt/SoQt.h> #include <Inventor/Qt/viewers/SoQtExaminerViewer.h> #include <Inventor/nodes/SoEventCallback.h> #include <Inventor/nodes/SoSeparator.h> #include <Inventor/nodes/SoCone.h> #include <Inventor/events/SoKeyboardEvent.h> // ************************************************************ static void keypresscbfunc(void * userdata, SoEventCallback * keyboardcb) { SoQtExaminerViewer * viewer = (SoQtExaminerViewer *)userdata; const SoEvent * event = keyboardcb->getEvent(); int shift = 0; if (SO_KEY_PRESS_EVENT(event, U)) { shift = 40; keyboardcb->setHandled(); } else if (SO_KEY_PRESS_EVENT(event, D)) { shift = -40; keyboardcb->setHandled(); } if (keyboardcb->isHandled()) { SbViewportRegion vpr = viewer->getViewportRegion(); SbVec2s size = vpr.getViewportSizePixels(); SbVec2s origin = vpr.getViewportOriginPixels(); origin[1] -= shift; vpr.setViewportPixels(origin, size); viewer->setViewportRegion(vpr); } } // ************************************************************ int main(int argc, char ** argv) { QWidget * window = SoQt::init(argv[0]); SoSeparator * root = new SoSeparator; root->ref(); root->addChild(new SoCone); SoQtExaminerViewer * viewer = new SoQtExaminerViewer(window); SoEventCallback * eventcb = new SoEventCallback; eventcb->addEventCallback(SoKeyboardEvent::getClassTypeId(), keypresscbfunc, viewer); root->insertChild(eventcb, 0); viewer->setViewing(FALSE); viewer->setDecoration(FALSE); viewer->setSceneGraph(root); viewer->show(); SoQt::show(window); SoQt::mainLoop(); delete viewer; root->unref(); return 0; }See Also:
SbViewVolume
Constructor & Destructor Documentation¶
SbViewportRegion::SbViewportRegion (void)¶
The default SbViewportRegion constructor initializes the viewport to fully cover a [100, 100] size window with 72 pixels per inch resolution.SbViewportRegion::SbViewportRegion (shortwidth, shortheight)¶
Construct and initialize an SbViewportRegion instance with the given pixel value window dimensions. The viewport within this window will be set to cover the window completely.SbViewportRegion::SbViewportRegion (SbVec2swinsizearg)¶
Construct and initialize an SbViewportRegion instance with the given pixel value window dimensions. The viewport within this window will be set to cover the window completely.SbViewportRegion::SbViewportRegion (const SbViewportRegion &vpReg)¶
Copy constructor.Member Function Documentation¶
void SbViewportRegion::setWindowSize (shortwidth, shortheight)¶
Set the window size in pixels. The viewport rectangle dimensions will stay intact. See Also:getWindowSize()
void SbViewportRegion::setWindowSize (SbVec2swinsizearg)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.void SbViewportRegion::setViewport (floatleft, floatbottom, floatwidth, floatheight)¶
Set up the origin and size of the viewport region in normalized coordinates. See Also:getViewportOrigin(),
getViewportSize(), setViewportPixels().
void SbViewportRegion::setViewport (SbVec2forigin, SbVec2fsize)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.void SbViewportRegion::setViewportPixels (shortleft, shortbottom, shortwidth, shortheight)¶
Set up the origin and size of the viewport region in pixel coordinates. See Also:getViewportOriginPixels(),
getViewportSizePixels(), setViewport()
void SbViewportRegion::setViewportPixels (SbVec2sorigin, SbVec2ssize)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.const SbVec2s & SbViewportRegion::getWindowSize (void) const¶
Returns window dimensions (which are in absolute (i.e. pixel) coordinates). See Also:setWindowSize().
const SbVec2f & SbViewportRegion::getViewportOrigin (void) const¶
Return normalized viewport origin coordinates. See Also:setViewport(),
getViewportOriginPixels().
const SbVec2s & SbViewportRegion::getViewportOriginPixels (void) const¶
Return viewport origin coordinates in pixel values. See Also:setViewportPixels(),
getViewportOrigin().
const SbVec2f & SbViewportRegion::getViewportSize (void) const¶
Returns the normalized viewport size. See Also:setViewport(),
getViewportSizePixels().
const SbVec2s & SbViewportRegion::getViewportSizePixels (void) const¶
Returns viewport size in pixel coordinates. See Also:setViewportPixels(),
getViewportSize().
float SbViewportRegion::getViewportAspectRatio (void) const¶
Returns the aspect ratio of the viewport region. The aspect ratio is calculated as pixelwidth divided on pixelheight.void SbViewportRegion::scaleWidth (floatratio)¶
Scale the width of the viewport region. The scale factor should not make the viewport larger than the window. If this happens, the viewport will be clamped. The scaling will be done around the viewport region center point, but if this causes the viewport origin to be moved below (0,0), the origin coordinates will be clamped. See Also:scaleHeight().
void SbViewportRegion::scaleHeight (floatratio)¶
Scale the height of the viewport region. The scale factor should not make the viewport larger than the window. If this happens, the viewport will be clamped. The scaling will be done around the viewport region center point, but if this causes the viewport origin to be moved below (0,0), the origin coordinates will be clamped. See Also:scaleWidth().
void SbViewportRegion::setPixelsPerInch (floatppi)¶
Set pixels per inch. Default value is 72. See Also:getPixelsPerInch().
float SbViewportRegion::getPixelsPerInch (void) const¶
Get pixels per inch. See Also:setPixelsPerInch().
float SbViewportRegion::getPixelsPerPoint (void) const¶
Get pixels per point. A point is defined as something you can put 72 of per inch... See Also:setPixelsPerInch(),
getPixelsPerInch().
void SbViewportRegion::print (FILE *fp) const¶
Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile.Friends And Related Function Documentation¶
int operator== (const SbViewportRegion ®1, const SbViewportRegion ®2) [friend]¶
Compares two SbViewportRegion instances for equality.int operator!= (const SbViewportRegion ®1, const SbViewportRegion ®2) [friend]¶
Compares two SbViewportRegion instances for inequality. Since:Coin 2.4
Author¶
Generated automatically by Doxygen for Coin from the source code.Sat Oct 12 2013 | Version 4.0.0a |