CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdTrVisCamera Class Reference

#include <TrVisCamera.h>

Public Types

enum  OrbitType { kOrbitPerp = 0 , kOrbitHorizontal , kOrbitVertical , kOrbitEye }
 

Public Member Functions

 OdTrVisCamera ()
 
 ~OdTrVisCamera ()
 
const OdTrVisViewParamsDefviewParams (bool bUpdated=true) const
 
void setViewParams (const OdTrVisViewParamsDef &viewParams, bool bSetModified=false)
 
bool isModified () const
 
void markModified ()
 
void setParentCamera (OdTrVisCamera *)
 
OdTrVisCameraparentCamera () const
 
void setOverlayOwnerCamera (OdTrVisCamera *)
 
OdTrVisCameraoverlayOwnerCamera () const
 
void removeOverlayCamera (OdTrVisCamera *)
 
void setSiblingOwnerCamera (OdTrVisCamera *)
 
OdTrVisCamerasiblingOwnerCamera () const
 
void removeSiblingCamera (OdTrVisCamera *)
 
void setContext (const OdTrVisSurfaceDef *pSurface, const OdTrVisViewportShadingDef *pViewportShading, const OdTrVisViewportClipDef *pViewportClip, const OdTrVisExtentsDef *pExtents)
 
void setContext (const OdTrVisCamera &cam2, const OdTrVisSurfaceDef *pSurface=NULL, const OdTrVisViewportShadingDef *pViewportShading=NULL, const OdTrVisViewportClipDef *pViewportClip=NULL, const OdTrVisExtentsDef *pExtents=NULL)
 
virtual void pan (int nX, int nY)
 
virtual void zoom (float fDelta)
 
virtual void zoom (int nX, int nY, float fDelta)
 
virtual void orbit (int nX, int nY, OrbitType type=kOrbitPerp, float angle=0.0f)
 
virtual void zoomExtents (float coef=1.03f)
 
virtual void translate (const OdGeVector3d &offset)
 
virtual void rotate (double xAngle, double yAngle, double zAngle, bool bLocalCS=true)
 
virtual void update () const
 
virtual void copyViewParams (const OdTrVisCamera *)
 
const OdGePoint3dviewPosition () const
 
void setViewPosition (const OdGePoint3d &pt)
 
const OdGeVector3dviewBasisX () const
 
void setViewBasisX (const OdGeVector3d &xBasis)
 
const OdGeVector3dviewBasisY () const
 
void setViewBasisY (const OdGeVector3d &yBasis)
 
const OdGeVector3dviewBasisZ () const
 
void setViewBasisZ (const OdGeVector3d &zBasis)
 
bool isPerspectiveProjection () const
 
void setPerspectiveProjection (bool p)
 
double fieldWidth () const
 
void setFieldWidth (double w)
 
double fieldHeight () const
 
void setFieldHeight (double h)
 
double lensLength () const
 
void setLensLength (double l)
 
double fovAngle () const
 
void setFovAngle (double fov)
 
const OdGePoint3dviewTarget () const
 
void setViewTarget (const OdGePoint3d &pt)
 
const OdTrVisViewClippedfrontClip () const
 
void setFrontClip (const OdTrVisViewClipped &cl)
 
const OdTrVisViewClippedbackClip () const
 
void setBackClip (const OdTrVisViewClipped &cl)
 
bool hasViewClip () const
 
const OdGeMatrix3dUnXForm () const
 
const OdGeMatrix3dmetafileMatrix () const
 
bool hasMetafileMatrix () const
 
void setMetafileMatrix (const OdGeMatrix3d &m)
 
const OdGeMatrix3dscreenMatrix () const
 
const OdGeMatrix3dviewingMatrix () const
 
const OdGeMatrix3dprojectionMatrix () const
 
const OdGeMatrix3dcorrectionMatrix () const
 
const OdGeMatrix3doutputMatrix () const
 
double projectionScreenDepth () const
 
double projectionFocalLengthReciprocal () const
 
double projectionFocalLength () const
 
bool projectionPerspective () const
 
long screenWidth () const
 
long screenHeight () const
 
bool viewportRect (OdGsDCRect &vpRect, bool bClipped=false) const
 
void applyMetafileXform (bool bSetModified=false) const
 
bool cameraCumulative () const
 
void setCameraCumulative (bool bSet)
 

Protected Types

enum  CameraFlags { kCameraModified = 1 , kCameraCumulative = 2 }
 

Protected Member Functions

double computeFieldWidth (double aspectRatio) const
 
double computeFieldHeight (double aspectRatio) const
 
void projectedExtents (OdGePoint2d &extMin, OdGePoint2d &extMax, const OdGeExtents3d &extents) const
 
OdGeMatrix3d computeProjectionMatrix (const OdGsDCRectDouble &dcRect, const OdTrVisViewportShadingDef *sets, const OdGeExtents3d &sceneExtents) const
 
void preComputeViewportDefMatrices () const
 
void setChildCamera (OdTrVisCamera *)
 
void removeChildCamera (OdTrVisCamera *)
 
void setOverlayCamera (OdTrVisCamera *)
 
void setSiblingCamera (OdTrVisCamera *)
 
OdTrVisCamerasibling ()
 
void setModified (bool modified=true) const
 
const OdGeExtents3dextents () const
 

Static Protected Member Functions

static double computeAspectRatio (const OdGsDCRectDouble &dcRect)
 
static double computeFocalLength (double lensLength, double fieldWidth, double fieldHeight)
 
static void computeSceneDepth (const OdGeMatrix3d &ecsToWcs, const OdGeExtents3d &sceneExtents, double &dNear, double &dFar)
 
static OdGeMatrix3d computeCorrectionMatrix (const OdGsDCRectDouble &dcRect, double screenWidth, double screenHeight)
 

Protected Attributes

OdTrVisViewParamsDef m_viewParams
 
OdGeMatrix3d m_UnXForm
 
OdUInt8 m_flags
 
OdTrVisCameram_pParentCamera
 
std::set< OdTrVisCamera * > m_childCameras
 
const OdTrVisSurfaceDefm_pSurfaceDef
 
const OdTrVisViewportShadingDefm_pViewportShadingDef
 
const OdTrVisViewportClipDefm_pViewportClipDef
 
const OdTrVisExtentsDefm_pExtentsDef
 
OdTrVisCameram_pOverlayOwnerCamera
 
std::set< OdTrVisCamera * > m_overlayCameras
 
OdTrVisCameram_pSiblingOwnerCamera
 
std::set< OdTrVisCamera * > m_siblingCameras
 

Detailed Description

Definition at line 36 of file TrVisCamera.h.

Member Enumeration Documentation

◆ CameraFlags

Enumerator
kCameraModified 
kCameraCumulative 

Definition at line 262 of file TrVisCamera.h.

◆ OrbitType

Enumerator
kOrbitPerp 
kOrbitHorizontal 
kOrbitVertical 
kOrbitEye 

Definition at line 76 of file TrVisCamera.h.

Constructor & Destructor Documentation

◆ OdTrVisCamera()

OdTrVisCamera::OdTrVisCamera ( )

◆ ~OdTrVisCamera()

OdTrVisCamera::~OdTrVisCamera ( )

Member Function Documentation

◆ applyMetafileXform()

void OdTrVisCamera::applyMetafileXform ( bool bSetModified = false) const

◆ backClip()

const OdTrVisViewClipped & OdTrVisCamera::backClip ( ) const
inline

Definition at line 170 of file TrVisCamera.h.

◆ cameraCumulative()

bool OdTrVisCamera::cameraCumulative ( ) const
inline

Definition at line 258 of file TrVisCamera.h.

◆ computeAspectRatio()

static double OdTrVisCamera::computeAspectRatio ( const OdGsDCRectDouble & dcRect)
staticprotected

◆ computeCorrectionMatrix()

static OdGeMatrix3d OdTrVisCamera::computeCorrectionMatrix ( const OdGsDCRectDouble & dcRect,
double screenWidth,
double screenHeight )
staticprotected

◆ computeFieldHeight()

double OdTrVisCamera::computeFieldHeight ( double aspectRatio) const
protected

◆ computeFieldWidth()

double OdTrVisCamera::computeFieldWidth ( double aspectRatio) const
protected

◆ computeFocalLength()

static double OdTrVisCamera::computeFocalLength ( double lensLength,
double fieldWidth,
double fieldHeight )
staticprotected

◆ computeProjectionMatrix()

OdGeMatrix3d OdTrVisCamera::computeProjectionMatrix ( const OdGsDCRectDouble & dcRect,
const OdTrVisViewportShadingDef * sets,
const OdGeExtents3d & sceneExtents ) const
protected

◆ computeSceneDepth()

static void OdTrVisCamera::computeSceneDepth ( const OdGeMatrix3d & ecsToWcs,
const OdGeExtents3d & sceneExtents,
double & dNear,
double & dFar )
staticprotected

◆ copyViewParams()

virtual void OdTrVisCamera::copyViewParams ( const OdTrVisCamera * )
virtual

◆ correctionMatrix()

const OdGeMatrix3d & OdTrVisCamera::correctionMatrix ( ) const
inline

Definition at line 217 of file TrVisCamera.h.

◆ extents()

const OdGeExtents3d & OdTrVisCamera::extents ( ) const
inlineprotected

Definition at line 312 of file TrVisCamera.h.

◆ fieldHeight()

double OdTrVisCamera::fieldHeight ( ) const
inline

Definition at line 139 of file TrVisCamera.h.

◆ fieldWidth()

double OdTrVisCamera::fieldWidth ( ) const
inline

Definition at line 132 of file TrVisCamera.h.

◆ fovAngle()

double OdTrVisCamera::fovAngle ( ) const

◆ frontClip()

const OdTrVisViewClipped & OdTrVisCamera::frontClip ( ) const
inline

Definition at line 163 of file TrVisCamera.h.

◆ hasMetafileMatrix()

bool OdTrVisCamera::hasMetafileMatrix ( ) const
inline

Definition at line 187 of file TrVisCamera.h.

◆ hasViewClip()

bool OdTrVisCamera::hasViewClip ( ) const
inline

Definition at line 177 of file TrVisCamera.h.

◆ isModified()

bool OdTrVisCamera::isModified ( ) const
inline

Definition at line 45 of file TrVisCamera.h.

◆ isPerspectiveProjection()

bool OdTrVisCamera::isPerspectiveProjection ( ) const
inline

Definition at line 125 of file TrVisCamera.h.

◆ lensLength()

double OdTrVisCamera::lensLength ( ) const
inline

Definition at line 146 of file TrVisCamera.h.

◆ markModified()

void OdTrVisCamera::markModified ( )
inline

Definition at line 47 of file TrVisCamera.h.

◆ metafileMatrix()

const OdGeMatrix3d & OdTrVisCamera::metafileMatrix ( ) const
inline

Definition at line 183 of file TrVisCamera.h.

◆ orbit()

virtual void OdTrVisCamera::orbit ( int nX,
int nY,
OrbitType type = kOrbitPerp,
float angle = 0.0f )
virtual

◆ outputMatrix()

const OdGeMatrix3d & OdTrVisCamera::outputMatrix ( ) const
inline

Definition at line 223 of file TrVisCamera.h.

◆ overlayOwnerCamera()

OdTrVisCamera * OdTrVisCamera::overlayOwnerCamera ( ) const
inline

Definition at line 53 of file TrVisCamera.h.

◆ pan()

virtual void OdTrVisCamera::pan ( int nX,
int nY )
virtual

◆ parentCamera()

OdTrVisCamera * OdTrVisCamera::parentCamera ( ) const
inline

Definition at line 50 of file TrVisCamera.h.

◆ preComputeViewportDefMatrices()

void OdTrVisCamera::preComputeViewportDefMatrices ( ) const
protected

◆ projectedExtents()

void OdTrVisCamera::projectedExtents ( OdGePoint2d & extMin,
OdGePoint2d & extMax,
const OdGeExtents3d & extents ) const
protected

◆ projectionFocalLength()

double OdTrVisCamera::projectionFocalLength ( ) const
inline

Definition at line 239 of file TrVisCamera.h.

◆ projectionFocalLengthReciprocal()

double OdTrVisCamera::projectionFocalLengthReciprocal ( ) const
inline

Definition at line 235 of file TrVisCamera.h.

◆ projectionMatrix()

const OdGeMatrix3d & OdTrVisCamera::projectionMatrix ( ) const
inline

Definition at line 211 of file TrVisCamera.h.

◆ projectionPerspective()

bool OdTrVisCamera::projectionPerspective ( ) const
inline

Definition at line 243 of file TrVisCamera.h.

◆ projectionScreenDepth()

double OdTrVisCamera::projectionScreenDepth ( ) const
inline

Definition at line 231 of file TrVisCamera.h.

◆ removeChildCamera()

void OdTrVisCamera::removeChildCamera ( OdTrVisCamera * )
protected

◆ removeOverlayCamera()

void OdTrVisCamera::removeOverlayCamera ( OdTrVisCamera * )

◆ removeSiblingCamera()

void OdTrVisCamera::removeSiblingCamera ( OdTrVisCamera * )

◆ rotate()

virtual void OdTrVisCamera::rotate ( double xAngle,
double yAngle,
double zAngle,
bool bLocalCS = true )
virtual

◆ screenHeight()

long OdTrVisCamera::screenHeight ( ) const

◆ screenMatrix()

const OdGeMatrix3d & OdTrVisCamera::screenMatrix ( ) const
inline

Definition at line 199 of file TrVisCamera.h.

◆ screenWidth()

long OdTrVisCamera::screenWidth ( ) const

◆ setBackClip()

void OdTrVisCamera::setBackClip ( const OdTrVisViewClipped & cl)
inline

Definition at line 171 of file TrVisCamera.h.

◆ setCameraCumulative()

void OdTrVisCamera::setCameraCumulative ( bool bSet)
inline

Definition at line 259 of file TrVisCamera.h.

◆ setChildCamera()

void OdTrVisCamera::setChildCamera ( OdTrVisCamera * )
protected

◆ setContext() [1/2]

void OdTrVisCamera::setContext ( const OdTrVisCamera & cam2,
const OdTrVisSurfaceDef * pSurface = NULL,
const OdTrVisViewportShadingDef * pViewportShading = NULL,
const OdTrVisViewportClipDef * pViewportClip = NULL,
const OdTrVisExtentsDef * pExtents = NULL )
inline

Definition at line 63 of file TrVisCamera.h.

◆ setContext() [2/2]

void OdTrVisCamera::setContext ( const OdTrVisSurfaceDef * pSurface,
const OdTrVisViewportShadingDef * pViewportShading,
const OdTrVisViewportClipDef * pViewportClip,
const OdTrVisExtentsDef * pExtents )
inline

Definition at line 60 of file TrVisCamera.h.

◆ setFieldHeight()

void OdTrVisCamera::setFieldHeight ( double h)
inline

Definition at line 140 of file TrVisCamera.h.

◆ setFieldWidth()

void OdTrVisCamera::setFieldWidth ( double w)
inline

Definition at line 133 of file TrVisCamera.h.

◆ setFovAngle()

void OdTrVisCamera::setFovAngle ( double fov)

◆ setFrontClip()

void OdTrVisCamera::setFrontClip ( const OdTrVisViewClipped & cl)
inline

Definition at line 164 of file TrVisCamera.h.

◆ setLensLength()

void OdTrVisCamera::setLensLength ( double l)
inline

Definition at line 147 of file TrVisCamera.h.

◆ setMetafileMatrix()

void OdTrVisCamera::setMetafileMatrix ( const OdGeMatrix3d & m)
inline

Definition at line 191 of file TrVisCamera.h.

◆ setModified()

void OdTrVisCamera::setModified ( bool modified = true) const
protected

◆ setOverlayCamera()

void OdTrVisCamera::setOverlayCamera ( OdTrVisCamera * )
protected

◆ setOverlayOwnerCamera()

void OdTrVisCamera::setOverlayOwnerCamera ( OdTrVisCamera * )

◆ setParentCamera()

void OdTrVisCamera::setParentCamera ( OdTrVisCamera * )

◆ setPerspectiveProjection()

void OdTrVisCamera::setPerspectiveProjection ( bool p)
inline

Definition at line 126 of file TrVisCamera.h.

◆ setSiblingCamera()

void OdTrVisCamera::setSiblingCamera ( OdTrVisCamera * )
protected

◆ setSiblingOwnerCamera()

void OdTrVisCamera::setSiblingOwnerCamera ( OdTrVisCamera * )

◆ setViewBasisX()

void OdTrVisCamera::setViewBasisX ( const OdGeVector3d & xBasis)
inline

Definition at line 107 of file TrVisCamera.h.

◆ setViewBasisY()

void OdTrVisCamera::setViewBasisY ( const OdGeVector3d & yBasis)
inline

Definition at line 113 of file TrVisCamera.h.

◆ setViewBasisZ()

void OdTrVisCamera::setViewBasisZ ( const OdGeVector3d & zBasis)
inline

Definition at line 119 of file TrVisCamera.h.

◆ setViewParams()

void OdTrVisCamera::setViewParams ( const OdTrVisViewParamsDef & viewParams,
bool bSetModified = false )

◆ setViewPosition()

void OdTrVisCamera::setViewPosition ( const OdGePoint3d & pt)
inline

Definition at line 100 of file TrVisCamera.h.

◆ setViewTarget()

void OdTrVisCamera::setViewTarget ( const OdGePoint3d & pt)
inline

Definition at line 157 of file TrVisCamera.h.

◆ sibling()

OdTrVisCamera * OdTrVisCamera::sibling ( )
inlineprotected

Definition at line 304 of file TrVisCamera.h.

◆ siblingOwnerCamera()

OdTrVisCamera * OdTrVisCamera::siblingOwnerCamera ( ) const
inline

Definition at line 57 of file TrVisCamera.h.

◆ translate()

virtual void OdTrVisCamera::translate ( const OdGeVector3d & offset)
virtual

◆ UnXForm()

const OdGeMatrix3d & OdTrVisCamera::UnXForm ( ) const
inline

Definition at line 181 of file TrVisCamera.h.

◆ update()

virtual void OdTrVisCamera::update ( ) const
virtual

◆ viewBasisX()

const OdGeVector3d & OdTrVisCamera::viewBasisX ( ) const
inline

Definition at line 106 of file TrVisCamera.h.

◆ viewBasisY()

const OdGeVector3d & OdTrVisCamera::viewBasisY ( ) const
inline

Definition at line 112 of file TrVisCamera.h.

◆ viewBasisZ()

const OdGeVector3d & OdTrVisCamera::viewBasisZ ( ) const
inline

Definition at line 118 of file TrVisCamera.h.

◆ viewingMatrix()

const OdGeMatrix3d & OdTrVisCamera::viewingMatrix ( ) const
inline

Definition at line 205 of file TrVisCamera.h.

◆ viewParams()

const OdTrVisViewParamsDef & OdTrVisCamera::viewParams ( bool bUpdated = true) const
inline

Definition at line 42 of file TrVisCamera.h.

◆ viewportRect()

bool OdTrVisCamera::viewportRect ( OdGsDCRect & vpRect,
bool bClipped = false ) const

◆ viewPosition()

const OdGePoint3d & OdTrVisCamera::viewPosition ( ) const
inline

Definition at line 99 of file TrVisCamera.h.

◆ viewTarget()

const OdGePoint3d & OdTrVisCamera::viewTarget ( ) const
inline

Definition at line 156 of file TrVisCamera.h.

◆ zoom() [1/2]

virtual void OdTrVisCamera::zoom ( float fDelta)
virtual

◆ zoom() [2/2]

virtual void OdTrVisCamera::zoom ( int nX,
int nY,
float fDelta )
virtual

◆ zoomExtents()

virtual void OdTrVisCamera::zoomExtents ( float coef = 1.03f)
virtual

Member Data Documentation

◆ m_childCameras

std::set< OdTrVisCamera* > OdTrVisCamera::m_childCameras
protected

Definition at line 272 of file TrVisCamera.h.

◆ m_flags

OdUInt8 OdTrVisCamera::m_flags
mutableprotected

Definition at line 269 of file TrVisCamera.h.

◆ m_overlayCameras

std::set< OdTrVisCamera* > OdTrVisCamera::m_overlayCameras
protected

Definition at line 280 of file TrVisCamera.h.

◆ m_pExtentsDef

const OdTrVisExtentsDef* OdTrVisCamera::m_pExtentsDef
protected

Definition at line 277 of file TrVisCamera.h.

◆ m_pOverlayOwnerCamera

OdTrVisCamera* OdTrVisCamera::m_pOverlayOwnerCamera
protected

Definition at line 279 of file TrVisCamera.h.

◆ m_pParentCamera

OdTrVisCamera* OdTrVisCamera::m_pParentCamera
protected

Definition at line 271 of file TrVisCamera.h.

◆ m_pSiblingOwnerCamera

OdTrVisCamera* OdTrVisCamera::m_pSiblingOwnerCamera
protected

Definition at line 282 of file TrVisCamera.h.

◆ m_pSurfaceDef

const OdTrVisSurfaceDef* OdTrVisCamera::m_pSurfaceDef
protected

Definition at line 274 of file TrVisCamera.h.

◆ m_pViewportClipDef

const OdTrVisViewportClipDef* OdTrVisCamera::m_pViewportClipDef
protected

Definition at line 276 of file TrVisCamera.h.

◆ m_pViewportShadingDef

const OdTrVisViewportShadingDef* OdTrVisCamera::m_pViewportShadingDef
protected

Definition at line 275 of file TrVisCamera.h.

◆ m_siblingCameras

std::set< OdTrVisCamera* > OdTrVisCamera::m_siblingCameras
protected

Definition at line 283 of file TrVisCamera.h.

◆ m_UnXForm

OdGeMatrix3d OdTrVisCamera::m_UnXForm
mutableprotected

Definition at line 268 of file TrVisCamera.h.

◆ m_viewParams

OdTrVisViewParamsDef OdTrVisCamera::m_viewParams
mutableprotected

Definition at line 267 of file TrVisCamera.h.


The documentation for this class was generated from the following file: