Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Amis | Liste de tous les membres
Référence de la classe castor3d::Camera

#include <Camera.hpp>

Graphe d'héritage de castor3d::Camera:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::Camera:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API Camera (castor::String const &name, Scene &scene, SceneNode &node, Viewport viewport, bool ownProjMtx=false)
 Constructeur.
 
C3D_API Camera (castor::String const &name, Scene &scene, SceneNode &node, bool ownProjMtx=false)
 Constructeur.
 
C3D_API void updateFrustum ()
 Met à jour le frustum.
 
C3D_API void update ()
 Met à jour le viewport, la matrice de vue et le frustum.
 
C3D_API void setProjection (castor::Matrix4x4f const &projection)
 Définit la matrice de projection, met à jour le viewport et le frustum.
 
C3D_API bool isVisible (Geometry const &geometry, Submesh const &submesh) const
 Vérifie si un sous-maillage est visible, via une géométrie.
 
C3D_API castor::Matrix4x4f getRescaledProjection (float scale, bool safeBanded) const
 
Viewport const & getViewport () const
 
ViewportgetViewport ()
 
castor::Matrix4x4f const & getView () const
 
castor::Matrix4x4f const & getProjection (bool safeBanded) const
 
ViewportType getViewportType () const
 
castor::Size const & getSize () const
 
uint32_t getWidth () const
 
uint32_t getHeight () const
 
float getNear () const
 
float getFar () const
 
float getRatio () const
 
castor::Angle const & getFovY () const
 
float getProjectionScale () const
 
bool isVisible (castor::BoundingBox const &box, castor::Matrix4x4f const &transformations) const
 
bool isVisible (castor::BoundingSphere const &sphere, castor::Matrix4x4f const &transformations, castor::Point3f const &scale) const
 
bool isVisible (castor::Point3f const &point) const
 
Frustum const & getFrustum () const
 
HdrConfig const & getHdrConfig () const
 
HdrConfiggetHdrConfig ()
 
ColourGradingConfig const & getColourGradingConfig () const noexcept
 
ColourGradingConfiggetColourGradingConfig () noexcept
 
void setView (castor::Matrix4x4f const &view)
 
void resize (uint32_t width, uint32_t height)
 
void resize (castor::Size const &size)
 
void setViewportType (ViewportType value)
 
void setHdrConfig (HdrConfig value)
 
void setColourGradingConfig (ColourGradingConfig config) noexcept
 
- Fonctions membres publiques hérités de castor3d::MovableObject
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node)
 Constructeur.
 
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type)
 Constructeur.
 
virtual C3D_API ~MovableObject () noexcept
 Destructeur.
 
C3D_API void detach ()
 Détache l'objet de son parent.
 
virtual C3D_API void attachTo (SceneNode &node)
 Attache l'object à un noeud.
 
C3D_API void markDirty ()
 Ajout l'objet à la liste des objets à mettre à jour de la scène.
 
C3D_API EngineRPtr getEngine () const noexcept
 
SceneNodegetParent () const noexcept
 
MovableType getMovableType () const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< Scene >
Scene * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 

Attributs publics

OnCameraChanged onGpuChanged
 

Amis

class Scene
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Scene >
 OwnedBy (Scene &owner)
 Constructeur.
 
- Attributs protégés hérités de castor3d::MovableObject
MovableType m_type
 
SceneNodem_sceneNode {}
 
OnSceneNodeChangedConnection m_notifyIndex
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 

Documentation des constructeurs et destructeur

◆ Camera() [1/2]

C3D_API castor3d::Camera::Camera ( castor::String const & name,
Scene & scene,
SceneNode & node,
Viewport viewport,
bool ownProjMtx = false )

Constructeur.

Paramètres
[in]nameLe nom de la caméra.
[in]sceneLa scène parente.
[in]nodeLe noeud de scène parent.
[in]viewportViewport à copier.
[in]ownProjMtxDit si la matrice de projection est définie par le viewport false, ou pas true.

◆ Camera() [2/2]

C3D_API castor3d::Camera::Camera ( castor::String const & name,
Scene & scene,
SceneNode & node,
bool ownProjMtx = false )

Constructeur.

Paramètres
[in]nameLe nom de la caméra.
[in]sceneLa scène parente.
[in]nodeSceneNode parent.
[in]ownProjMtxDit si la matrice de projection est définie par le viewport false, ou pas true.

Documentation des fonctions membres

◆ getColourGradingConfig() [1/2]

ColourGradingConfig const & castor3d::Camera::getColourGradingConfig ( ) const
inlinenoexcept

◆ getColourGradingConfig() [2/2]

ColourGradingConfig & castor3d::Camera::getColourGradingConfig ( )
inlinenoexcept

◆ getFar()

float castor3d::Camera::getFar ( ) const
inline

Références castor3d::Viewport::getFar().

Voici le graphe d'appel pour cette fonction :

◆ getFovY()

castor::Angle const & castor3d::Camera::getFovY ( ) const
inline

Références castor3d::Viewport::getFovY().

Voici le graphe d'appel pour cette fonction :

◆ getFrustum()

Frustum const & castor3d::Camera::getFrustum ( ) const
inline

◆ getHdrConfig() [1/2]

HdrConfig & castor3d::Camera::getHdrConfig ( )
inline

◆ getHdrConfig() [2/2]

HdrConfig const & castor3d::Camera::getHdrConfig ( ) const
inline

◆ getHeight()

uint32_t castor3d::Camera::getHeight ( ) const
inline

Références castor3d::Viewport::getHeight().

Voici le graphe d'appel pour cette fonction :

◆ getNear()

float castor3d::Camera::getNear ( ) const
inline

Références castor3d::Viewport::getNear().

Voici le graphe d'appel pour cette fonction :

◆ getProjection()

castor::Matrix4x4f const & castor3d::Camera::getProjection ( bool safeBanded) const
inline

Références castor3d::Viewport::getProjection(), et castor3d::Viewport::getSafeBandedProjection().

Voici le graphe d'appel pour cette fonction :

◆ getProjectionScale()

float castor3d::Camera::getProjectionScale ( ) const
inline

Références castor3d::Viewport::getProjectionScale().

Voici le graphe d'appel pour cette fonction :

◆ getRatio()

float castor3d::Camera::getRatio ( ) const
inline

Références castor3d::Viewport::getRatio().

Voici le graphe d'appel pour cette fonction :

◆ getRescaledProjection()

C3D_API castor::Matrix4x4f castor3d::Camera::getRescaledProjection ( float scale,
bool safeBanded ) const

name Accesseurs.

◆ getSize()

castor::Size const & castor3d::Camera::getSize ( ) const
inline

Références castor3d::Viewport::getSize().

Voici le graphe d'appel pour cette fonction :

◆ getView()

castor::Matrix4x4f const & castor3d::Camera::getView ( ) const
inline

◆ getViewport() [1/2]

Viewport & castor3d::Camera::getViewport ( )
inline

◆ getViewport() [2/2]

Viewport const & castor3d::Camera::getViewport ( ) const
inline

◆ getViewportType()

ViewportType castor3d::Camera::getViewportType ( ) const
inline

Références castor3d::Viewport::getType().

Voici le graphe d'appel pour cette fonction :

◆ getWidth()

uint32_t castor3d::Camera::getWidth ( ) const
inline

Références castor3d::Viewport::getWidth().

Voici le graphe d'appel pour cette fonction :

◆ isVisible() [1/4]

bool castor3d::Camera::isVisible ( castor::BoundingBox const & box,
castor::Matrix4x4f const & transformations ) const
inline

Références castor3d::Frustum::isVisible().

Voici le graphe d'appel pour cette fonction :

◆ isVisible() [2/4]

bool castor3d::Camera::isVisible ( castor::BoundingSphere const & sphere,
castor::Matrix4x4f const & transformations,
castor::Point3f const & scale ) const
inline

Références castor3d::Frustum::isVisible().

Voici le graphe d'appel pour cette fonction :

◆ isVisible() [3/4]

bool castor3d::Camera::isVisible ( castor::Point3f const & point) const
inline

Références castor3d::Frustum::isVisible().

Voici le graphe d'appel pour cette fonction :

◆ isVisible() [4/4]

C3D_API bool castor3d::Camera::isVisible ( Geometry const & geometry,
Submesh const & submesh ) const

Vérifie si un sous-maillage est visible, via une géométrie.

Paramètres
[in]geometryLa géométrie.
[in]submeshLe sous-maillage.
Renvoie
false si le sous-maillage n'est pas visible.

◆ resize() [1/2]

void castor3d::Camera::resize ( castor::Size const & size)
inline

Références castor3d::Viewport::getSize(), castor3d::MovableObject::markDirty(), et castor3d::Viewport::resize().

Voici le graphe d'appel pour cette fonction :

◆ resize() [2/2]

void castor3d::Camera::resize ( uint32_t width,
uint32_t height )
inline

Références resize().

Référencé par resize().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ setColourGradingConfig()

void castor3d::Camera::setColourGradingConfig ( ColourGradingConfig config)
inlinenoexcept

◆ setHdrConfig()

void castor3d::Camera::setHdrConfig ( HdrConfig value)
inline

◆ setProjection()

C3D_API void castor3d::Camera::setProjection ( castor::Matrix4x4f const & projection)

Définit la matrice de projection, met à jour le viewport et le frustum.

Paramètres
[in]projectionLa matrice de projection.

◆ setView()

void castor3d::Camera::setView ( castor::Matrix4x4f const & view)
inline

name Mutateurs.

Références castor3d::MovableObject::markDirty().

Voici le graphe d'appel pour cette fonction :

◆ setViewportType()

void castor3d::Camera::setViewportType ( ViewportType value)
inline

Références castor3d::MovableObject::markDirty(), et castor3d::Viewport::updateType().

Voici le graphe d'appel pour cette fonction :

◆ update()

C3D_API void castor3d::Camera::update ( )

Met à jour le viewport, la matrice de vue et le frustum.

◆ updateFrustum()

C3D_API void castor3d::Camera::updateFrustum ( )

Met à jour le frustum.

Documentation des fonctions amies et associées

◆ Scene

friend class Scene
friend

Documentation des données membres

◆ onGpuChanged

OnCameraChanged castor3d::Camera::onGpuChanged
mutable

Le signal levé lorsque la caméra a changé.


La documentation de cette classe a été générée à partir du fichier suivant :