OSGMatrixCameraDecorator.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include <cstdlib>
00044 #include <cstdio>
00045
00046 #include "OSGConfig.h"
00047
00048 #include "OSGMatrixCameraDecorator.h"
00049
00050 OSG_USING_NAMESPACE
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 void MatrixCameraDecorator::initMethod(InitPhase ePhase)
00066 {
00067 Inherited::initMethod(ePhase);
00068 }
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 MatrixCameraDecorator::MatrixCameraDecorator(void) :
00082 Inherited()
00083 {
00084 }
00085
00086 MatrixCameraDecorator::MatrixCameraDecorator(
00087 const MatrixCameraDecorator &source) :
00088
00089 Inherited(source)
00090 {
00091 }
00092
00093 MatrixCameraDecorator::~MatrixCameraDecorator(void)
00094 {
00095 }
00096
00097
00098
00099 void MatrixCameraDecorator::changed(ConstFieldMaskArg whichField,
00100 UInt32 origin,
00101 BitVector details)
00102 {
00103 Inherited::changed(whichField, origin, details);
00104 }
00105
00106
00107 void MatrixCameraDecorator::getProjection(Matrix &result,
00108 UInt32 width,
00109 UInt32 height)
00110 {
00111 Camera *camera = getDecoratee();
00112
00113 if(camera == NULL)
00114 {
00115 FWARNING(("MatrixCameraDecorator::getProjection: no decoratee!\n"));
00116
00117 result.setIdentity();
00118
00119 return;
00120 }
00121
00122 camera->getProjection(result, width, height);
00123
00124 result.multLeft(getPostProjection());
00125 result.mult (getPreProjection ());
00126 }
00127
00128 void MatrixCameraDecorator::getProjectionTranslation(Matrix &result,
00129 UInt32 width,
00130 UInt32 height)
00131 {
00132 Camera *camera = getDecoratee();
00133
00134 if(camera == NULL)
00135 {
00136 FWARNING(("MatrixCameraDecorator::getProjectionTranslation: "
00137 "no decoratee!\n"));
00138
00139 result.setIdentity();
00140
00141 return;
00142 }
00143
00144 camera->getProjectionTranslation(result, width, height);
00145
00146 result.multLeft(getPostProjectionTranslation());
00147 result.mult (getPreProjectionTranslation ());
00148 }
00149
00150 void MatrixCameraDecorator::getViewing(Matrix &result,
00151 UInt32 width,
00152 UInt32 height)
00153 {
00154 Camera *camera = getDecoratee();
00155
00156 if(camera == NULL)
00157 {
00158
00159 FWARNING(("MatrixCameraDecorator::getViewing: no decoratee!\n"));
00160 result.setIdentity();
00161
00162 return;
00163 }
00164
00165 camera->getViewing(result, width, height);
00166
00167 result.multLeft(getPostViewing());
00168 result.mult (getPreViewing ());
00169 }
00170
00171 void MatrixCameraDecorator::dump( UInt32 ,
00172 const BitVector ) const
00173 {
00174 SLOG << "Dump MatrixCameraDecorator NI" << std::endl;
00175 }