Workspace 6.21.5
Namespaces | Typedefs | Enumerations | Functions
renderingutil.h File Reference
#include <array>
#include <QVector2D>
#include <QVector4D>
#include "Workspace/Application/LanguageUtils/errorchecks.h"
#include "Workspace/Application/LanguageUtils/mathdefs.h"
#include "Workspace/Application/logmanager.h"
#include "Workspace/DataExecution/Connections/connection.h"
#include "Workspace/DataExecution/Operations/Builtin/workspaceoutput.h"
#include "Workspace/DataExecution/Operations/operation.h"
#include "Workspace/DataExecution/Operations/operationfactorytraits.h"
#include "Workspace/DataExecution/Operations/workspace.h"
#include "Mesh/Geometry/boundingboxminimal.h"
#include "Mesh/Geometry/line.h"
#include "Mesh/Geometry/transformmatrix.h"
#include "Mesh/Geometry/vector3d.h"
#include "Rendering/SceneComponents/Cameras/camera.h"
Include dependency graph for renderingutil.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  CSIRO
 Top level namespace for all Workspace code.
 
namespace  CSIRO::Mesh
 Mesh model data structures.
 
namespace  CSIRO::Rendering
 Rendering of meshed models.
 

Typedefs

typedef std::array< QVector4D, 6 > ViewFrustumPlanes
 Array of 4D vectors, each representing one the view frustum planes in normalised form.
 

Enumerations

enum  ViewFrustumPlane {
  FrustumNear , FrustumFar , FrustumLeft , FrustumRight ,
  FrustumBottom , FrustumTop
}
 An enum representing the 6 bounding planes of the view frustum. More...
 

Functions

bool aabbIntersectsFrustum (const ViewFrustumPlanes &viewFrustumPlanes, const Mesh::BoundingBoxMinimal &box)
 
Mesh::TransformMatrix adjustScaleToPixelSize (const Mesh::TransformMatrix &matWorld, const Mesh::TransformMatrix &matView, const Mesh::TransformMatrix &matViewInv, const Mesh::TransformMatrix &matProj, int viewportWidth, int viewportHeight, double pixelSize)
 
double calcFieldOfViewX (double fieldOfViewY, double aspectRatio)
 
double calcViewNormalizedDistance (const Mesh::BoundingBoxMinimal &worldViewAabb, const Camera &viewCamera)
 
void getViewFrustumPlanes (const Mesh::TransformMatrix &projMatrix, const Mesh::TransformMatrix &viewMatrix, ViewFrustumPlanes &frustumPlanes)
 
bool isFirstIdParentOfSecondId (const QString &parentPath, QString potentialChild)
 
QVector2D normDevCoordsToScreenCoords (const QVector2D &normDevCoords, int screenWidth, int screenHeight)
 
bool pointInsideFrustum (const ViewFrustumPlanes &viewFrustumPlanes, const Mesh::Vector3d &point)
 
Mesh::Vector3d screenCoordsToNormDevCoords (const Mesh::Vector3d &screenCoords, int screenWidth, int screenHeight)
 
Mesh::Vector3d screenCoordsToWorldCoords (const Mesh::Vector3d &screenCoords, int screenWidth, int screenHeight, const Mesh::TransformMatrix &viewProjInv)
 
Mesh::Line screenCoordsToWorldLine (const QVector2D &screenCoords, int screenWidth, int screenHeight, const Mesh::TransformMatrix &viewProjInv)