SO3Engine
|
#include <SO3Window.h>
Public Types | |
enum | SelectorMode { SO3_SELECTOR_FAST , SO3_SELECTOR_LIMITED , SO3_SELECTOR_PRECISE } |
Public Member Functions | |
SWindow (SRoot *parent, const ScolWindowHandle &windowHandle, const std::string &windowName, const int &width, const int &height, const std::string &fsaa) | |
Ogre::RenderWindow * | GetOgreRenderWindowPointer () |
~SWindow () | |
void | UpdateScreenPos () |
Ogre::Vector2 | GetScreenPos () |
SRoot * | GetParentRoot () |
ScolWindowHandle | GetWindowHandle () const |
void | SetWindowHandle (ScolWindowHandle win) |
void | RefreshSelector (const bool &forceRefresh=false) |
void | SetSelectorEnable (const bool &state) |
void | SetSelectorMode (SelectorMode mode) |
SelectorMode | GetSelectorMode () |
void | PauseWindow () |
void | ResumeWindow () |
SViewPort * | CreateViewport (SCamera *camera, int priority, const float &x, const float &y, const float &w, const float &h) |
void | DeleteViewport (SViewPort *existingViewport) |
const SViewPortList & | GetViewportList () const |
SViewPort * | GetViewport (const int &priority) const |
SViewPort * | GetViewport (const int &x, const int &y) |
void | windowMoved (Ogre::RenderWindow *rw) |
void | windowResized (Ogre::RenderWindow *rw) |
void | windowClosed (Ogre::RenderWindow *rw) |
void | windowFocusChange (Ogre::RenderWindow *rw) |
int | Size (const int &x, const int &y, const int &w, const int &h, const int &ext) |
void | WindowMovedOrResized () |
unsigned int | GetWidth () const |
unsigned int | GetHeight () const |
int | GetLeft () |
int | GetTop () |
void | SetSizeDirty () |
bool | GetSizeDirty () |
bool | GetFullScreen () |
bool | SetFullScreen (const bool &fullscreen, const int &width=0, const int &height=0) |
bool | CheckVideoMode (const int width, const int height) |
void | Update () |
unsigned int | GetBatchCount () |
unsigned int | GetTriangleCount () |
float | GetBestFrameTime () const |
float | GetWorstFrameTime () const |
float | GetBestFPS () const |
float | GetWorstFPS () const |
float | GetAverageFPS () const |
unsigned int | GetFSAA () const |
void | SetStereoMode (const StereoManager::StereoMode &stereoMode) |
StereoManager::StereoMode | GetStereoMode () |
float | GetStereoEyesSpacing () |
void | SetStereoEyesSpacing (const float &eyesSpacing) |
void | SetStereoRotateView (const bool state) |
bool | GetStereoRotateView () |
void | SetStereoProjectionOffset (const float &offset) |
void | SetStereoAspectRatio (const float &ratio) |
void | SetStereoFOVy (const float &fov) |
void | SetStereoDistortion (bool enable, Ogre::Vector4 dist) |
void | SetStereoChromaticAbCorrection (bool enable, Ogre::Vector4 chromAbC) |
void | SetStereoCustomProjectonMatrix (bool enable, const Ogre::Matrix4 &leftMatrix, const Ogre::Matrix4 &rightMatrix) |
void | GetStereoCustomProjectonMatrix (bool &enabled, Ogre::Matrix4 &leftMatrix, Ogre::Matrix4 &rightMatrix) const |
void | SetStereoTimeWarpMatrix (const Ogre::Matrix4 &leftStartMatrix, const Ogre::Matrix4 &leftEndMatrix, const Ogre::Matrix4 &rightStartMatrix, const Ogre::Matrix4 &rightEndMatrix) |
void | SetStereoMeshUVConfig (Ogre::Vector2 leftuvscale, Ogre::Vector2 leftuvoffset, Ogre::Vector2 rightuvscale, Ogre::Vector2 rightuvoffset) |
void | SetStereoMeshRttSize (SO3::SPoint< int > leftsize, SO3::SPoint< int > rightsize) |
void | SetStereoMeshLeft (std::vector< Ogre::Vector3 > vertices, std::vector< std::vector< Ogre::Vector2 > > uvs, std::vector< Ogre::Real > vignetteColor, std::vector< Ogre::Real > warp, std::vector< int > indexs) |
void | SetStereoMeshRight (std::vector< Ogre::Vector3 > vertices, std::vector< std::vector< Ogre::Vector2 > > uvs, std::vector< Ogre::Real > vignetteColor, std::vector< Ogre::Real > warp, std::vector< int > indexs) |
void | SetStereoWindow (SO3::SPoint< int > pos, SO3::SPoint< int > size, int index, bool state) |
std::array< SCOL_PTR_TYPE, 2 > | GetStereoTextures () |
std::array< SO3::SPoint< int >, 2 > | GetStereoViewportSize () |
SRaycastResult | RayCast (const int &pixelsX, const int &pixelsY) |
SRaycastResult | IndRayCast (const int &pixelsX, const int &pixelsY) |
SRaycastResult & | GetLastRayCast () |
void | InvalidateRayCast () |
void | WriteContentsToFile (const std::string &path) |
bool | UpdateStereoCompositorState (SViewPort *viewport, const Ogre::String compname, bool state) |
void | RestoreStereoCamera (SViewPort *viewport) |
void | UpdateStereoCamera (SViewPort *viewport, Ogre::Camera *camera) |
void | UpdateStereoCameraMatrix (SViewPort *viewport, Ogre::Camera *camera) |
void | UnregisterStereoViewport (SViewPort *viewport) |
void | RegisterStereoViewport (SViewPort *viewport) |
void | SynchStereoViewportSetup (SViewPort *viewport, bool overlay=false, bool shadow=false) |
bool | IsStereoViewportRegistered (SViewPort *viewport) |
void | ToPixelPos (int &px, int &py) |
void | CleanViewports () |
Public Member Functions inherited from SO3::SData | |
SData (const std::string &dataName) | |
virtual | ~SData () |
std::string | GetName () const |
SUserObjectBindings & | GetUserObjectBindings () |
const SUserObjectBindings & | GetUserObjectBindings () const |
Protected Member Functions | |
void | AddViewport (SViewPort *existingViewport) |
void | RemoveViewport (SViewPort *existingViewport) |
virtual void | preRenderTargetUpdate (const Ogre::RenderTargetEvent &evt) |
virtual void | postRenderTargetUpdate (const Ogre::RenderTargetEvent &evt) |
Additional Inherited Members | |
Protected Attributes inherited from SO3::SData | |
std::string | name |
Definition at line 42 of file SO3Window.h.
Enumerator | |
---|---|
SO3_SELECTOR_FAST | |
SO3_SELECTOR_LIMITED | |
SO3_SELECTOR_PRECISE |
Definition at line 47 of file SO3Window.h.
SO3::SWindow::SWindow | ( | SRoot * | parent, |
const ScolWindowHandle & | windowHandle, | ||
const std::string & | windowName, | ||
const int & | width, | ||
const int & | height, | ||
const std::string & | fsaa | ||
) |
Constructor.
Definition at line 58 of file SO3Window.cpp.
SO3::SWindow::~SWindow | ( | ) |
Destructor.
Definition at line 214 of file SO3Window.cpp.
|
protected |
Add a SViewPort object to the list of handled viewports.
Definition at line 548 of file SO3Window.cpp.
bool SO3::SWindow::CheckVideoMode | ( | const int | width, |
const int | height | ||
) |
Definition at line 989 of file SO3Window.cpp.
void SO3::SWindow::CleanViewports | ( | ) |
Clean SViewPort object to del
Definition at line 490 of file SO3Window.cpp.
SViewPort * SO3::SWindow::CreateViewport | ( | SCamera * | camera, |
int | priority, | ||
const float & | x, | ||
const float & | y, | ||
const float & | w, | ||
const float & | h | ||
) |
Create a new SViewPort Object
Definition at line 446 of file SO3Window.cpp.
void SO3::SWindow::DeleteViewport | ( | SViewPort * | existingViewport | ) |
Delete an existing SViewPort Object
Definition at line 459 of file SO3Window.cpp.
float SO3::SWindow::GetAverageFPS | ( | ) | const |
Gets the average frames per second (FPS) since the start of the rendering.
Definition at line 1075 of file SO3Window.cpp.
unsigned int SO3::SWindow::GetBatchCount | ( | ) |
Gets the number of batches rendered in the last Update() call.
Definition at line 1028 of file SO3Window.cpp.
float SO3::SWindow::GetBestFPS | ( | ) | const |
Gets the best frames per second (FPS) since the start of the rendering.
Definition at line 1065 of file SO3Window.cpp.
float SO3::SWindow::GetBestFrameTime | ( | ) | const |
Gets the best frame time
Definition at line 1055 of file SO3Window.cpp.
unsigned int SO3::SWindow::GetFSAA | ( | ) | const |
Indicates whether multisampling is performed on rendering and at what level.
Definition at line 1080 of file SO3Window.cpp.
bool SO3::SWindow::GetFullScreen | ( | ) |
Definition at line 980 of file SO3Window.cpp.
unsigned int SO3::SWindow::GetHeight | ( | ) | const |
Definition at line 836 of file SO3Window.cpp.
SRaycastResult & SO3::SWindow::GetLastRayCast | ( | ) |
Definition at line 1244 of file SO3Window.cpp.
int SO3::SWindow::GetLeft | ( | ) |
Definition at line 841 of file SO3Window.cpp.
Ogre::RenderWindow * SO3::SWindow::GetOgreRenderWindowPointer | ( | ) |
Definition at line 441 of file SO3Window.cpp.
SRoot * SO3::SWindow::GetParentRoot | ( | ) |
Definition at line 436 of file SO3Window.cpp.
Ogre::Vector2 SO3::SWindow::GetScreenPos | ( | ) |
Definition at line 259 of file SO3Window.cpp.
SWindow::SelectorMode SO3::SWindow::GetSelectorMode | ( | ) |
Definition at line 403 of file SO3Window.cpp.
bool SO3::SWindow::GetSizeDirty | ( | ) |
Definition at line 305 of file SO3Window.cpp.
void SO3::SWindow::GetStereoCustomProjectonMatrix | ( | bool & | enabled, |
Ogre::Matrix4 & | leftMatrix, | ||
Ogre::Matrix4 & | rightMatrix | ||
) | const |
Definition at line 1148 of file SO3Window.cpp.
float SO3::SWindow::GetStereoEyesSpacing | ( | ) |
Definition at line 1098 of file SO3Window.cpp.
StereoManager::StereoMode SO3::SWindow::GetStereoMode | ( | ) |
Definition at line 1093 of file SO3Window.cpp.
bool SO3::SWindow::GetStereoRotateView | ( | ) |
Definition at line 1113 of file SO3Window.cpp.
std::array< SCOL_PTR_TYPE, 2 > SO3::SWindow::GetStereoTextures | ( | ) |
Definition at line 1183 of file SO3Window.cpp.
std::array< SO3::SPoint< int >, 2 > SO3::SWindow::GetStereoViewportSize | ( | ) |
Definition at line 1188 of file SO3Window.cpp.
int SO3::SWindow::GetTop | ( | ) |
Definition at line 849 of file SO3Window.cpp.
unsigned int SO3::SWindow::GetTriangleCount | ( | ) |
Gets the number of triangles rendered in the last Update() call.
Definition at line 1042 of file SO3Window.cpp.
SViewPort * SO3::SWindow::GetViewport | ( | const int & | priority | ) | const |
Get the viewport at zorder.
Definition at line 585 of file SO3Window.cpp.
SViewPort * SO3::SWindow::GetViewport | ( | const int & | x, |
const int & | y | ||
) |
Get the viewport under the given window internal position;
Definition at line 601 of file SO3Window.cpp.
const SViewPortList & SO3::SWindow::GetViewportList | ( | ) | const |
Get a list of the handled viewport.
Definition at line 580 of file SO3Window.cpp.
unsigned int SO3::SWindow::GetWidth | ( | ) | const |
Definition at line 831 of file SO3Window.cpp.
ScolWindowHandle SO3::SWindow::GetWindowHandle | ( | ) | const |
Definition at line 426 of file SO3Window.cpp.
float SO3::SWindow::GetWorstFPS | ( | ) | const |
Definition at line 1070 of file SO3Window.cpp.
float SO3::SWindow::GetWorstFrameTime | ( | ) | const |
Gets the worst frame time
Definition at line 1060 of file SO3Window.cpp.
SRaycastResult SO3::SWindow::IndRayCast | ( | const int & | pixelsX, |
const int & | pixelsY | ||
) |
Definition at line 1223 of file SO3Window.cpp.
void SO3::SWindow::InvalidateRayCast | ( | ) |
Definition at line 1238 of file SO3Window.cpp.
bool SO3::SWindow::IsStereoViewportRegistered | ( | SViewPort * | viewport | ) |
Definition at line 540 of file SO3Window.cpp.
void SO3::SWindow::PauseWindow | ( | ) |
Definition at line 408 of file SO3Window.cpp.
|
protectedvirtual |
Definition at line 310 of file SO3Window.cpp.
|
protectedvirtual |
Definition at line 235 of file SO3Window.cpp.
SRaycastResult SO3::SWindow::RayCast | ( | const int & | pixelsX, |
const int & | pixelsY | ||
) |
Definition at line 1210 of file SO3Window.cpp.
void SO3::SWindow::RefreshSelector | ( | const bool & | forceRefresh = false | ) |
Definition at line 327 of file SO3Window.cpp.
void SO3::SWindow::RegisterStereoViewport | ( | SViewPort * | viewport | ) |
Definition at line 528 of file SO3Window.cpp.
|
protected |
Remove a SViewPort object from the list of handled viewports.
Definition at line 564 of file SO3Window.cpp.
void SO3::SWindow::RestoreStereoCamera | ( | SViewPort * | viewport | ) |
Definition at line 504 of file SO3Window.cpp.
void SO3::SWindow::ResumeWindow | ( | ) |
Definition at line 418 of file SO3Window.cpp.
bool SO3::SWindow::SetFullScreen | ( | const bool & | fullscreen, |
const int & | width = 0 , |
||
const int & | height = 0 |
||
) |
True if success, false if an error occurs or aborting (ask fullScreen whenever it's always in fullscreen).
Definition at line 857 of file SO3Window.cpp.
void SO3::SWindow::SetSelectorEnable | ( | const bool & | state | ) |
Definition at line 334 of file SO3Window.cpp.
void SO3::SWindow::SetSelectorMode | ( | SelectorMode | mode | ) |
Definition at line 359 of file SO3Window.cpp.
void SO3::SWindow::SetSizeDirty | ( | ) |
Definition at line 264 of file SO3Window.cpp.
void SO3::SWindow::SetStereoAspectRatio | ( | const float & | ratio | ) |
Definition at line 1123 of file SO3Window.cpp.
void SO3::SWindow::SetStereoChromaticAbCorrection | ( | bool | enable, |
Ogre::Vector4 | chromAbC | ||
) |
Definition at line 1138 of file SO3Window.cpp.
void SO3::SWindow::SetStereoCustomProjectonMatrix | ( | bool | enable, |
const Ogre::Matrix4 & | leftMatrix, | ||
const Ogre::Matrix4 & | rightMatrix | ||
) |
Definition at line 1143 of file SO3Window.cpp.
void SO3::SWindow::SetStereoDistortion | ( | bool | enable, |
Ogre::Vector4 | dist | ||
) |
Definition at line 1133 of file SO3Window.cpp.
void SO3::SWindow::SetStereoEyesSpacing | ( | const float & | eyesSpacing | ) |
Definition at line 1103 of file SO3Window.cpp.
void SO3::SWindow::SetStereoFOVy | ( | const float & | fov | ) |
Definition at line 1128 of file SO3Window.cpp.
void SO3::SWindow::SetStereoMeshLeft | ( | std::vector< Ogre::Vector3 > | vertices, |
std::vector< std::vector< Ogre::Vector2 > > | uvs, | ||
std::vector< Ogre::Real > | vignetteColor, | ||
std::vector< Ogre::Real > | warp, | ||
std::vector< int > | indexs | ||
) |
Definition at line 1173 of file SO3Window.cpp.
void SO3::SWindow::SetStereoMeshRight | ( | std::vector< Ogre::Vector3 > | vertices, |
std::vector< std::vector< Ogre::Vector2 > > | uvs, | ||
std::vector< Ogre::Real > | vignetteColor, | ||
std::vector< Ogre::Real > | warp, | ||
std::vector< int > | indexs | ||
) |
Definition at line 1178 of file SO3Window.cpp.
void SO3::SWindow::SetStereoMeshRttSize | ( | SO3::SPoint< int > | leftsize, |
SO3::SPoint< int > | rightsize | ||
) |
Definition at line 1163 of file SO3Window.cpp.
void SO3::SWindow::SetStereoMeshUVConfig | ( | Ogre::Vector2 | leftuvscale, |
Ogre::Vector2 | leftuvoffset, | ||
Ogre::Vector2 | rightuvscale, | ||
Ogre::Vector2 | rightuvoffset | ||
) |
Definition at line 1158 of file SO3Window.cpp.
void SO3::SWindow::SetStereoMode | ( | const StereoManager::StereoMode & | stereoMode | ) |
Definition at line 1085 of file SO3Window.cpp.
void SO3::SWindow::SetStereoProjectionOffset | ( | const float & | offset | ) |
Definition at line 1118 of file SO3Window.cpp.
void SO3::SWindow::SetStereoRotateView | ( | const bool | state | ) |
Definition at line 1108 of file SO3Window.cpp.
void SO3::SWindow::SetStereoTimeWarpMatrix | ( | const Ogre::Matrix4 & | leftStartMatrix, |
const Ogre::Matrix4 & | leftEndMatrix, | ||
const Ogre::Matrix4 & | rightStartMatrix, | ||
const Ogre::Matrix4 & | rightEndMatrix | ||
) |
Definition at line 1153 of file SO3Window.cpp.
void SO3::SWindow::SetStereoWindow | ( | SO3::SPoint< int > | pos, |
SO3::SPoint< int > | size, | ||
int | index, | ||
bool | state | ||
) |
Definition at line 1168 of file SO3Window.cpp.
void SO3::SWindow::SetWindowHandle | ( | ScolWindowHandle | win | ) |
Definition at line 431 of file SO3Window.cpp.
int SO3::SWindow::Size | ( | const int & | x, |
const int & | y, | ||
const int & | w, | ||
const int & | h, | ||
const int & | ext | ||
) |
Definition at line 643 of file SO3Window.cpp.
void SO3::SWindow::SynchStereoViewportSetup | ( | SViewPort * | viewport, |
bool | overlay = false , |
||
bool | shadow = false |
||
) |
Definition at line 534 of file SO3Window.cpp.
void SO3::SWindow::ToPixelPos | ( | int & | px, |
int & | py | ||
) |
Definition at line 1193 of file SO3Window.cpp.
void SO3::SWindow::UnregisterStereoViewport | ( | SViewPort * | viewport | ) |
Definition at line 522 of file SO3Window.cpp.
void SO3::SWindow::Update | ( | ) |
Definition at line 1016 of file SO3Window.cpp.
void SO3::SWindow::UpdateScreenPos | ( | ) |
Definition at line 246 of file SO3Window.cpp.
void SO3::SWindow::UpdateStereoCamera | ( | SViewPort * | viewport, |
Ogre::Camera * | camera | ||
) |
Definition at line 510 of file SO3Window.cpp.
void SO3::SWindow::UpdateStereoCameraMatrix | ( | SViewPort * | viewport, |
Ogre::Camera * | camera | ||
) |
Definition at line 516 of file SO3Window.cpp.
bool SO3::SWindow::UpdateStereoCompositorState | ( | SViewPort * | viewport, |
const Ogre::String | compname, | ||
bool | state | ||
) |
Definition at line 499 of file SO3Window.cpp.
void SO3::SWindow::windowClosed | ( | Ogre::RenderWindow * | rw | ) |
Definition at line 635 of file SO3Window.cpp.
void SO3::SWindow::windowFocusChange | ( | Ogre::RenderWindow * | rw | ) |
Definition at line 639 of file SO3Window.cpp.
void SO3::SWindow::windowMoved | ( | Ogre::RenderWindow * | rw | ) |
Definition at line 627 of file SO3Window.cpp.
void SO3::SWindow::WindowMovedOrResized | ( | ) |
Definition at line 700 of file SO3Window.cpp.
void SO3::SWindow::windowResized | ( | Ogre::RenderWindow * | rw | ) |
Definition at line 631 of file SO3Window.cpp.
void SO3::SWindow::WriteContentsToFile | ( | const std::string & | path | ) |
Definition at line 1276 of file SO3Window.cpp.