LibreOffice Module tools (master) 1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
B3dTransformationSet Class Reference

Transformation sets for 3D output. More...

#include <b3dtrans.hxx>

Inheritance diagram for B3dTransformationSet:
[legend]
Collaboration diagram for B3dTransformationSet:
[legend]

Public Member Functions

 B3dTransformationSet ()
 
virtual ~B3dTransformationSet ()
 
 B3dTransformationSet (B3dTransformationSet const &)=default
 
 B3dTransformationSet (B3dTransformationSet &&)=default
 
B3dTransformationSetoperator= (B3dTransformationSet const &)=default
 
B3dTransformationSetoperator= (B3dTransformationSet &&)=default
 
void Reset ()
 reset values More...
 
void SetOrientation (const basegfx::B3DPoint &rVRP=basegfx::B3DPoint(0.0, 0.0, 1.0), const basegfx::B3DVector &rVPN=basegfx::B3DVector(0.0, 0.0, 1.0), const basegfx::B3DVector &rVUP=basegfx::B3DVector(0.0, 1.0, 0.0))
 Set the orientation. More...
 
void SetProjection (const basegfx::B3DHomMatrix &mProject)
 Projections for transformations. More...
 
const basegfx::B3DHomMatrixGetProjection ()
 
double GetRatio () const
 
void SetRatio (double fNew)
 
void SetDeviceRectangle (double fL=-1.0, double fR=1.0, double fB=-1.0, double fT=1.0)
 
double GetDeviceRectangleWidth () const
 
void SetPerspective (bool bNew)
 
void SetViewportRectangle (tools::Rectangle const &rRect, tools::Rectangle const &rVisible)
 
void SetViewportRectangle (tools::Rectangle const &rRect)
 
void CalcViewport ()
 Transformations for viewport. More...
 
basegfx::B3DPoint WorldToEyeCoor (const basegfx::B3DPoint &rVec)
 
basegfx::B3DPoint EyeToWorldCoor (const basegfx::B3DPoint &rVec)
 

Static Public Member Functions

static void Frustum (basegfx::B3DHomMatrix &rTarget, double fLeft=-1.0, double fRight=1.0, double fBottom=-1.0, double fTop=1.0, double fNear=0.001, double fFar=1.0)
 
static void Ortho (basegfx::B3DHomMatrix &rTarget, double fLeft=-1.0, double fRight=1.0, double fBottom=-1.0, double fTop=1.0, double fNear=0.0, double fFar=1.0)
 
static void Orientation (basegfx::B3DHomMatrix &rTarget, const basegfx::B3DPoint &aVRP=basegfx::B3DPoint(0.0, 0.0, 1.0), basegfx::B3DVector aVPN=basegfx::B3DVector(0.0, 0.0, 1.0), basegfx::B3DVector aVUP=basegfx::B3DVector(0.0, 1.0, 0.0))
 

Protected Member Functions

void PostSetObjectTrans ()
 Object transformation. More...
 
void PostSetOrientation ()
 
void PostSetProjection ()
 
virtual void DeviceRectangleChange ()
 

Private Attributes

basegfx::B3DHomMatrix maObjectTrans
 
basegfx::B3DHomMatrix maInvObjectTrans
 
basegfx::B3DHomMatrix maOrientation
 
basegfx::B3DHomMatrix maInvOrientation
 
basegfx::B3DHomMatrix maProjection
 
basegfx::B3DHomMatrix maInvProjection
 
basegfx::B2DHomMatrix maTexture
 
basegfx::B3DVector maScale
 
basegfx::B3DVector maTranslate
 
double mfLeftBound
 
double mfRightBound
 
double mfBottomBound
 
double mfTopBound
 
double mfRatio
 
tools::Rectangle maViewportRectangle
 
tools::Rectangle maVisibleRectangle
 
tools::Rectangle maSetBound
 
bool mbPerspective: 1
 
bool mbProjectionValid: 1
 

Detailed Description

Transformation sets for 3D output.

Definition at line 33 of file b3dtrans.hxx.

Constructor & Destructor Documentation

◆ B3dTransformationSet() [1/3]

B3dTransformationSet::B3dTransformationSet ( )

Definition at line 32 of file b3dtrans.cxx.

References Reset().

◆ ~B3dTransformationSet()

B3dTransformationSet::~B3dTransformationSet ( )
virtual

Definition at line 37 of file b3dtrans.cxx.

◆ B3dTransformationSet() [2/3]

B3dTransformationSet::B3dTransformationSet ( B3dTransformationSet const &  )
default

◆ B3dTransformationSet() [3/3]

B3dTransformationSet::B3dTransformationSet ( B3dTransformationSet &&  )
default

Member Function Documentation

◆ CalcViewport()

void B3dTransformationSet::CalcViewport ( )

◆ DeviceRectangleChange()

void B3dTransformationSet::DeviceRectangleChange ( )
protectedvirtual

Reimplemented in B3dCamera.

Definition at line 311 of file b3dtrans.cxx.

Referenced by B3dCamera::DeviceRectangleChange(), and SetDeviceRectangle().

◆ EyeToWorldCoor()

basegfx::B3DPoint B3dTransformationSet::EyeToWorldCoor ( const basegfx::B3DPoint rVec)

Definition at line 344 of file b3dtrans.cxx.

References maInvOrientation.

Referenced by B3dCamera::CalcNewViewportValues().

◆ Frustum()

void B3dTransformationSet::Frustum ( basegfx::B3DHomMatrix rTarget,
double  fLeft = -1.0,
double  fRight = 1.0,
double  fBottom = -1.0,
double  fTop = 1.0,
double  fNear = 0.001,
double  fFar = 1.0 
)
static

Definition at line 65 of file b3dtrans.cxx.

References rTarget, and basegfx::B3DHomMatrix::set().

Referenced by CalcViewport().

◆ GetDeviceRectangleWidth()

double B3dTransformationSet::GetDeviceRectangleWidth ( ) const
inline

Definition at line 114 of file b3dtrans.hxx.

Referenced by B3dCamera::CalcFocalLength().

◆ GetProjection()

const basegfx::B3DHomMatrix & B3dTransformationSet::GetProjection ( )

Definition at line 193 of file b3dtrans.cxx.

References CalcViewport(), maProjection, and mbProjectionValid.

Referenced by PostSetProjection().

◆ GetRatio()

double B3dTransformationSet::GetRatio ( ) const
inline

Definition at line 108 of file b3dtrans.hxx.

Referenced by CalcViewport().

◆ operator=() [1/2]

B3dTransformationSet & B3dTransformationSet::operator= ( B3dTransformationSet &&  )
default

References Reset, and SetOrientation.

◆ operator=() [2/2]

B3dTransformationSet & B3dTransformationSet::operator= ( B3dTransformationSet const &  )
default

◆ Orientation()

void B3dTransformationSet::Orientation ( basegfx::B3DHomMatrix rTarget,
const basegfx::B3DPoint aVRP = basegfx::B3DPoint(0.0,0.0,1.0),
basegfx::B3DVector  aVPN = basegfx::B3DVector(0.0,0.0,1.0),
basegfx::B3DVector  aVUP = basegfx::B3DVector(0.0,1.0,0.0) 
)
static

◆ Ortho()

void B3dTransformationSet::Ortho ( basegfx::B3DHomMatrix rTarget,
double  fLeft = -1.0,
double  fRight = 1.0,
double  fBottom = -1.0,
double  fTop = 1.0,
double  fNear = 0.0,
double  fFar = 1.0 
)
static

Definition at line 103 of file b3dtrans.cxx.

References rTarget, and basegfx::B3DHomMatrix::set().

Referenced by CalcViewport().

◆ PostSetObjectTrans()

void B3dTransformationSet::PostSetObjectTrans ( )
protected

Object transformation.

Definition at line 164 of file b3dtrans.cxx.

References basegfx::B3DHomMatrix::invert(), maInvObjectTrans, and maObjectTrans.

Referenced by Reset().

◆ PostSetOrientation()

void B3dTransformationSet::PostSetOrientation ( )
protected

Definition at line 179 of file b3dtrans.cxx.

References basegfx::B3DHomMatrix::invert(), maInvOrientation, and maOrientation.

Referenced by Reset(), and SetOrientation().

◆ PostSetProjection()

void B3dTransformationSet::PostSetProjection ( )
protected

Definition at line 200 of file b3dtrans.cxx.

References GetProjection(), basegfx::B3DHomMatrix::invert(), and maInvProjection.

Referenced by SetProjection().

◆ Reset()

void B3dTransformationSet::Reset ( void  )

◆ SetDeviceRectangle()

void B3dTransformationSet::SetDeviceRectangle ( double  fL = -1.0,
double  fR = 1.0,
double  fB = -1.0,
double  fT = 1.0 
)

◆ SetOrientation()

void B3dTransformationSet::SetOrientation ( const basegfx::B3DPoint rVRP = basegfx::B3DPoint(0.0,0.0,1.0),
const basegfx::B3DVector rVPN = basegfx::B3DVector(0.0,0.0,1.0),
const basegfx::B3DVector rVUP = basegfx::B3DVector(0.0,1.0,0.0) 
)

Set the orientation.

Parameters
vVRPthe View Reference Point (VRP)
vVPNthe View Plane Normal (VPN)
vVUPthe View Up Plane (VUP)

Definition at line 171 of file b3dtrans.cxx.

References basegfx::B3DHomMatrix::identity(), maOrientation, Orientation(), and PostSetOrientation().

Referenced by B3dViewport::CalcOrientation().

◆ SetPerspective()

void B3dTransformationSet::SetPerspective ( bool  bNew)

Definition at line 315 of file b3dtrans.cxx.

References mbPerspective, and mbProjectionValid.

◆ SetProjection()

void B3dTransformationSet::SetProjection ( const basegfx::B3DHomMatrix mProject)

Projections for transformations.

Definition at line 187 of file b3dtrans.cxx.

References maProjection, and PostSetProjection().

Referenced by CalcViewport().

◆ SetRatio()

void B3dTransformationSet::SetRatio ( double  fNew)

Definition at line 286 of file b3dtrans.cxx.

References mbProjectionValid, and mfRatio.

◆ SetViewportRectangle() [1/2]

void B3dTransformationSet::SetViewportRectangle ( tools::Rectangle const &  rRect)
inline

Definition at line 119 of file b3dtrans.hxx.

References SetViewportRectangle().

Referenced by SetViewportRectangle().

◆ SetViewportRectangle() [2/2]

void B3dTransformationSet::SetViewportRectangle ( tools::Rectangle const &  rRect,
tools::Rectangle const &  rVisible 
)

Definition at line 324 of file b3dtrans.cxx.

References maViewportRectangle, maVisibleRectangle, and mbProjectionValid.

◆ WorldToEyeCoor()

basegfx::B3DPoint B3dTransformationSet::WorldToEyeCoor ( const basegfx::B3DPoint rVec)

Definition at line 337 of file b3dtrans.cxx.

References maOrientation.

Referenced by B3dCamera::CalcFocalLength().

Member Data Documentation

◆ maInvObjectTrans

basegfx::B3DHomMatrix B3dTransformationSet::maInvObjectTrans
private

Definition at line 38 of file b3dtrans.hxx.

Referenced by PostSetObjectTrans().

◆ maInvOrientation

basegfx::B3DHomMatrix B3dTransformationSet::maInvOrientation
private

Definition at line 42 of file b3dtrans.hxx.

Referenced by EyeToWorldCoor(), and PostSetOrientation().

◆ maInvProjection

basegfx::B3DHomMatrix B3dTransformationSet::maInvProjection
private

Definition at line 46 of file b3dtrans.hxx.

Referenced by PostSetProjection().

◆ maObjectTrans

basegfx::B3DHomMatrix B3dTransformationSet::maObjectTrans
private

Definition at line 37 of file b3dtrans.hxx.

Referenced by PostSetObjectTrans(), and Reset().

◆ maOrientation

basegfx::B3DHomMatrix B3dTransformationSet::maOrientation
private

Definition at line 41 of file b3dtrans.hxx.

Referenced by PostSetOrientation(), Reset(), SetOrientation(), and WorldToEyeCoor().

◆ maProjection

basegfx::B3DHomMatrix B3dTransformationSet::maProjection
private

Definition at line 45 of file b3dtrans.hxx.

Referenced by GetProjection(), and SetProjection().

◆ maScale

basegfx::B3DVector B3dTransformationSet::maScale
private

Definition at line 52 of file b3dtrans.hxx.

Referenced by CalcViewport().

◆ maSetBound

tools::Rectangle B3dTransformationSet::maSetBound
private

Definition at line 73 of file b3dtrans.hxx.

Referenced by CalcViewport().

◆ maTexture

basegfx::B2DHomMatrix B3dTransformationSet::maTexture
private

Definition at line 49 of file b3dtrans.hxx.

Referenced by Reset().

◆ maTranslate

basegfx::B3DVector B3dTransformationSet::maTranslate
private

Definition at line 53 of file b3dtrans.hxx.

Referenced by CalcViewport().

◆ maViewportRectangle

tools::Rectangle B3dTransformationSet::maViewportRectangle
private

Definition at line 67 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetViewportRectangle().

◆ maVisibleRectangle

tools::Rectangle B3dTransformationSet::maVisibleRectangle
private

Definition at line 69 of file b3dtrans.hxx.

Referenced by Reset(), and SetViewportRectangle().

◆ mbPerspective

bool B3dTransformationSet::mbPerspective
private

Definition at line 76 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetPerspective().

◆ mbProjectionValid

bool B3dTransformationSet::mbProjectionValid
private

◆ mfBottomBound

double B3dTransformationSet::mfBottomBound
private

Definition at line 58 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetDeviceRectangle().

◆ mfLeftBound

double B3dTransformationSet::mfLeftBound
private

Definition at line 56 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetDeviceRectangle().

◆ mfRatio

double B3dTransformationSet::mfRatio
private

Definition at line 64 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetRatio().

◆ mfRightBound

double B3dTransformationSet::mfRightBound
private

Definition at line 57 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetDeviceRectangle().

◆ mfTopBound

double B3dTransformationSet::mfTopBound
private

Definition at line 59 of file b3dtrans.hxx.

Referenced by CalcViewport(), Reset(), and SetDeviceRectangle().


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