#include <OSGProjectionCameraDecorator.h>

Public Types | |
| enum | { UserFieldId = Inherited::NextFieldId, SurfaceFieldId = UserFieldId + 1, LeftFieldId = SurfaceFieldId + 1, BottomFieldId = LeftFieldId + 1, NormalFieldId = BottomFieldId + 1, WidthFieldId = NormalFieldId + 1, HeightFieldId = WidthFieldId + 1, NextFieldId = HeightFieldId + 1 } |
| typedef ProjectionCameraDecoratorPtr | Ptr |
| enum | { LeftEyeFieldId = Inherited::NextFieldId, EyeSeparationFieldId = LeftEyeFieldId + 1, NextFieldId = EyeSeparationFieldId + 1 } |
| enum | { DecorateeFieldId = Inherited::NextFieldId, NextFieldId = DecorateeFieldId + 1 } |
| enum | { BeaconFieldId = Inherited::NextFieldId, NearFieldId = BeaconFieldId + 1, FarFieldId = NearFieldId + 1, NextFieldId = FarFieldId + 1 } |
| enum | { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 } |
| enum | { NextFieldId = 1 } |
Public Member Functions | |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
access | |
| virtual void | getViewing (Matrix &result, UInt32 width, UInt32 height) |
| virtual void | getProjection (Matrix &result, UInt32 width, UInt32 height) |
| virtual void | getProjectionTranslation (Matrix &result, UInt32 width, UInt32 height) |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| SFNodePtr * | getSFUser (void) |
| Get the ProjectionCameraDecorator::_sfUser field. | |
| MFPnt3f * | getMFSurface (void) |
| Get the ProjectionCameraDecorator::_mfSurface field. | |
| SFReal32 * | getSFWidth (void) |
| Get the ProjectionCameraDecorator::_sfWidth field. | |
| SFReal32 * | getSFHeight (void) |
| Get the ProjectionCameraDecorator::_sfHeight field. | |
| NodePtr & | getUser (void) |
| Get the value of the ProjectionCameraDecorator::_sfUser field. | |
| const NodePtr & | getUser (void) const |
| Get the value of the ProjectionCameraDecorator::_sfUser field. | |
| Real32 & | getWidth (void) |
| Get the value of the ProjectionCameraDecorator::_sfWidth field. | |
| const Real32 & | getWidth (void) const |
| Get the value of the ProjectionCameraDecorator::_sfWidth field. | |
| Real32 & | getHeight (void) |
| Get the value of the ProjectionCameraDecorator::_sfHeight field. | |
| const Real32 & | getHeight (void) const |
| Get the value of the ProjectionCameraDecorator::_sfHeight field. | |
| Pnt3f & | getSurface (const UInt32 index) |
| Get the value of the index element the ProjectionCameraDecorator::_mfSurface field. | |
| MFPnt3f & | getSurface (void) |
| Get the ProjectionCameraDecorator::_mfSurface field. | |
| const MFPnt3f & | getSurface (void) const |
| Get the ProjectionCameraDecorator::_mfSurface field. | |
Field Set | |
| void | setUser (const NodePtr &value) |
| Set the value of the ProjectionCameraDecorator::_sfUser field. | |
| void | setWidth (const Real32 &value) |
| Set the value of the ProjectionCameraDecorator::_sfWidth field. | |
| void | setHeight (const Real32 &value) |
| Set the value of the ProjectionCameraDecorator::_sfHeight field. | |
Binary Access | |
| virtual UInt32 | getBinSize (const BitVector &whichField) |
| virtual void | copyToBin (BinaryDataHandler &pMem, const BitVector &whichField) |
| virtual void | copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField) |
Copy | |
| virtual FieldContainerPtr | shallowCopy (void) const |
Field Get | |
| SFBool * | getSFLeftEye (void) |
| Get the StereoCameraDecorator::_sfLeftEye field. | |
| SFReal32 * | getSFEyeSeparation (void) |
| Get the StereoCameraDecorator::_sfEyeSeparation field. | |
| bool & | getLeftEye (void) |
| Get the value of the StereoCameraDecorator::_sfLeftEye field. | |
| const bool & | getLeftEye (void) const |
| Get the value of the StereoCameraDecorator::_sfLeftEye field. | |
| Real32 & | getEyeSeparation (void) |
| Get the value of the StereoCameraDecorator::_sfEyeSeparation field. | |
| const Real32 & | getEyeSeparation (void) const |
| Get the value of the StereoCameraDecorator::_sfEyeSeparation field. | |
Field Set | |
| void | setLeftEye (const bool &value) |
| Set the value of the StereoCameraDecorator::_sfLeftEye field. | |
| void | setEyeSeparation (const Real32 &value) |
| Set the value of the StereoCameraDecorator::_sfEyeSeparation field. | |
your_category | |
| virtual void | draw (DrawAction *action, const Viewport &port) |
Field Get | |
| SFCameraPtr * | getSFDecoratee (void) |
| SFNodePtr * | getSFBeacon (void) |
| SFReal32 * | getSFNear (void) |
| SFReal32 * | getSFFar (void) |
| CameraPtr & | getDecoratee (void) |
| const CameraPtr & | getDecoratee (void) const |
| NodePtr & | getBeacon (void) |
| const NodePtr & | getBeacon (void) const |
| Real32 & | getNear (void) |
| const Real32 & | getNear (void) const |
| Real32 & | getFar (void) |
| const Real32 & | getFar (void) const |
Field Set | |
| void | setDecoratee (const CameraPtr &value) |
| void | setBeacon (const NodePtr &value) |
| void | setNear (const Real32 &value) |
| void | setFar (const Real32 &value) |
Setup Rendering | |
| virtual void | setup (DrawActionBase *action, const Viewport &port) |
| virtual void | setupProjection (DrawActionBase *action, const Viewport &port) |
Access Parameters | |
| virtual void | getFrustum (FrustumVolume &result, const Viewport &port) |
| virtual void | getFrustum (FrustumVolume &result, UInt32 width, UInt32 height) |
| virtual void | getWorldToScreen (Matrix &result, const Viewport &port) |
| virtual void | getDecoration (Matrix &result, UInt32 width, UInt32 height) |
Intersection Helper | |
| bool | calcViewRay (Line &line, Int32 x, Int32 y, const Viewport &port) |
Handle Attachments | |
| void | addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| void | subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| AttachmentPtr | findAttachment (UInt32 groupId, UInt16 binding=0) |
| AttachmentPtr | findAttachment (const FieldContainerType &type, UInt16 binding=0) |
| SFAttachmentMap * | getSFAttachments (void) |
Get Instance Type Information | |
| UInt32 | getTypeId (void) const |
| UInt16 | getGroupId (void) const |
| const Char8 * | getTypeName (void) const |
| Field * | getField (UInt32 fieldId) |
| Field * | getField (const Char8 *fieldName) |
Static Public Member Functions | |
Class Get | |
| static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Construction | |
| static ProjectionCameraDecoratorPtr | create (void) |
| create a new instance of the class | |
| static ProjectionCameraDecoratorPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Class Get | |
| static const char * | getClassname (void) |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | UserFieldMask |
| static const osg::BitVector | SurfaceFieldMask |
| static const osg::BitVector | LeftFieldMask |
| static const osg::BitVector | BottomFieldMask |
| static const osg::BitVector | NormalFieldMask |
| static const osg::BitVector | WidthFieldMask |
| static const osg::BitVector | HeightFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const osg::BitVector | LeftEyeFieldMask |
| static const osg::BitVector | EyeSeparationFieldMask |
| static const osg::BitVector | DecorateeFieldMask |
| static const osg::BitVector | BeaconFieldMask |
| static const osg::BitVector | NearFieldMask |
| static const osg::BitVector | FarFieldMask |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
Constructors | |
| ProjectionCameraDecorator (void) | |
| ProjectionCameraDecorator (const ProjectionCameraDecorator &source) | |
Destructors | |
| virtual | ~ProjectionCameraDecorator (void) |
internal | |
| void | updateData (void) |
Field Get | |
| SFPlane * | getSFLeft (void) |
| Get the ProjectionCameraDecorator::_sfLeft field. | |
| SFPlane * | getSFBottom (void) |
| Get the ProjectionCameraDecorator::_sfBottom field. | |
| SFPlane * | getSFNormal (void) |
| Get the ProjectionCameraDecorator::_sfNormal field. | |
| Plane & | getLeft (void) |
| Get the value of the ProjectionCameraDecorator::_sfLeft field. | |
| const Plane & | getLeft (void) const |
| Get the value of the ProjectionCameraDecorator::_sfLeft field. | |
| Plane & | getBottom (void) |
| Get the value of the ProjectionCameraDecorator::_sfBottom field. | |
| const Plane & | getBottom (void) const |
| Get the value of the ProjectionCameraDecorator::_sfBottom field. | |
| Plane & | getNormal (void) |
| Get the value of the ProjectionCameraDecorator::_sfNormal field. | |
| const Plane & | getNormal (void) const |
| Get the value of the ProjectionCameraDecorator::_sfNormal field. | |
Field Set | |
| void | setLeft (const Plane &value) |
| Set the value of the ProjectionCameraDecorator::_sfLeft field. | |
| void | setBottom (const Plane &value) |
| Set the value of the ProjectionCameraDecorator::_sfBottom field. | |
| void | setNormal (const Plane &value) |
| Set the value of the ProjectionCameraDecorator::_sfNormal field. | |
Sync | |
| void | executeSyncImpl (ProjectionCameraDecoratorBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (StereoCameraDecoratorBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (CameraDecoratorBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (CameraBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
Pointer | |
| AttachmentContainerPtr | getPtr (void) |
MT Edit | |
| template<class FieldTypeT> | |
| void | beginEditX (const BitVector &whichField, FieldTypeT &field) |
| template<class FieldTypeT> | |
| void | endEditX (const BitVector &whichField, FieldTypeT &field) |
MT Construction | |
| void | onCreate (const FieldContainer *source=NULL) |
| void | onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL) |
MT Destruction | |
| virtual void | onDestroy (void) |
Static Protected Member Functions | |
Create Fieldcontainer | |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP) |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result) |
Protected Attributes | |
Fields | |
| SFNodePtr | _sfUser |
| MFPnt3f | _mfSurface |
| SFPlane | _sfLeft |
| SFPlane | _sfBottom |
| SFPlane | _sfNormal |
| SFReal32 | _sfWidth |
| SFReal32 | _sfHeight |
Fields | |
| SFBool | _sfLeftEye |
| SFReal32 | _sfEyeSeparation |
Fields | |
| SFCameraPtr | _sfDecoratee |
Fields | |
| SFNodePtr | _sfBeacon |
| SFReal32 | _sfNear |
| SFReal32 | _sfFar |
Fields | |
| SFAttachmentMap | _attachmentMap |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef ProjectionCameraDecoratorBase | Inherited |
Private Member Functions | |
| void | operator= (const ProjectionCameraDecorator &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | ProjectionCameraDecoratorBase |
The parameters are defined by the _sfUser and _mfSurface fields.
Definition at line 55 of file OSGProjectionCameraDecorator.h.
typedef ProjectionCameraDecoratorBase osg::ProjectionCameraDecorator::Inherited [private] |
Reimplemented from osg::ProjectionCameraDecoratorBase.
Definition at line 59 of file OSGProjectionCameraDecorator.h.
typedef ProjectionCameraDecoratorPtr osg::ProjectionCameraDecoratorBase::Ptr [inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 96 of file OSGProjectionCameraDecoratorBase.h.
anonymous enum [inherited] |
| UserFieldId | |
| SurfaceFieldId | |
| LeftFieldId | |
| BottomFieldId | |
| NormalFieldId | |
| WidthFieldId | |
| HeightFieldId | |
| NextFieldId |
Definition at line 98 of file OSGProjectionCameraDecoratorBase.h.
00099 { 00100 UserFieldId = Inherited::NextFieldId, 00101 SurfaceFieldId = UserFieldId + 1, 00102 LeftFieldId = SurfaceFieldId + 1, 00103 BottomFieldId = LeftFieldId + 1, 00104 NormalFieldId = BottomFieldId + 1, 00105 WidthFieldId = NormalFieldId + 1, 00106 HeightFieldId = WidthFieldId + 1, 00107 NextFieldId = HeightFieldId + 1 00108 };
anonymous enum [inherited] |
Definition at line 93 of file OSGStereoCameraDecoratorBase.h.
00094 { 00095 LeftEyeFieldId = Inherited::NextFieldId, 00096 EyeSeparationFieldId = LeftEyeFieldId + 1, 00097 NextFieldId = EyeSeparationFieldId + 1 00098 };
anonymous enum [inherited] |
Definition at line 92 of file OSGCameraDecoratorBase.h.
00093 { 00094 DecorateeFieldId = Inherited::NextFieldId, 00095 NextFieldId = DecorateeFieldId + 1 00096 };
anonymous enum [inherited] |
Definition at line 94 of file OSGCameraBase.h.
00095 { 00096 BeaconFieldId = Inherited::NextFieldId, 00097 NearFieldId = BeaconFieldId + 1, 00098 FarFieldId = NearFieldId + 1, 00099 NextFieldId = FarFieldId + 1 00100 };
anonymous enum [inherited] |
Definition at line 78 of file OSGAttachmentContainerImpl.h.
00079 { 00080 AttachmentsFieldId = Inherited::NextFieldId, 00081 NextFieldId = AttachmentsFieldId + 1 00082 };
anonymous enum [inherited] |
| ProjectionCameraDecorator::ProjectionCameraDecorator | ( | void | ) | [protected] |
Definition at line 79 of file OSGProjectionCameraDecorator.cpp.
00079 : 00080 Inherited() 00081 { 00082 }
| ProjectionCameraDecorator::ProjectionCameraDecorator | ( | const ProjectionCameraDecorator & | source | ) | [protected] |
Definition at line 84 of file OSGProjectionCameraDecorator.cpp.
00084 : 00085 Inherited(source) 00086 { 00087 }
| ProjectionCameraDecorator::~ProjectionCameraDecorator | ( | void | ) | [protected, virtual] |
Reimplemented from osg::StereoCameraDecorator.
Definition at line 99 of file OSGProjectionCameraDecorator.cpp.
References osg::StereoCameraDecorator::changed(), osg::ProjectionCameraDecoratorBase::SurfaceFieldMask, and updateData().
00100 { 00101 Inherited::changed(whichField, origin); 00102 00103 if(whichField & SurfaceFieldMask) 00104 updateData(); 00105 }
| void ProjectionCameraDecorator::dump | ( | UInt32 | uiIndent = 0, |
|
| const BitVector | bvFlags = 0 | |||
| ) | const [virtual] |
Reimplemented from osg::StereoCameraDecorator.
Definition at line 107 of file OSGProjectionCameraDecorator.cpp.
References SLOG.
00109 { 00110 SLOG << "Dump ProjectionCameraDecorator NI" << std::endl; 00111 }
| void ProjectionCameraDecorator::getViewing | ( | Matrix & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual] |
Reimplemented from osg::CameraDecorator.
Definition at line 152 of file OSGProjectionCameraDecorator.cpp.
References FWARNING, osg::ProjectionCameraDecoratorBase::getUser(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::NullFC, and osg::TransformationMatrix< ValueTypeT >::setIdentity().
00155 { 00156 if ( getUser() == NullFC ) 00157 { 00158 FWARNING(("ProjectionCameraDecorator::getViewing: no user!")); 00159 result.setIdentity(); 00160 return; 00161 } 00162 00163 getUser()->getToWorld( result ); 00164 result.invert(); 00165 }
| void ProjectionCameraDecorator::getProjection | ( | Matrix & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual] |
Reimplemented from osg::CameraDecorator.
Definition at line 167 of file OSGProjectionCameraDecorator.cpp.
References osg::Plane::distance(), FWARNING, osg::ProjectionCameraDecoratorBase::getBottom(), osg::CameraDecoratorBase::getDecoratee(), osg::StereoCameraDecoratorBase::getEyeSeparation(), osg::ProjectionCameraDecoratorBase::getHeight(), osg::ProjectionCameraDecoratorBase::getLeft(), osg::StereoCameraDecoratorBase::getLeftEye(), osg::ProjectionCameraDecoratorBase::getNormal(), osg::ProjectionCameraDecoratorBase::getUser(), osg::ProjectionCameraDecoratorBase::getWidth(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::MatrixFrustum(), osg::TransformationMatrix< ValueTypeT >::mult(), osg::NullFC, and osg::TransformationMatrix< ValueTypeT >::setIdentity().
00170 { 00171 CameraPtr camera = getDecoratee(); 00172 00173 if(camera == NullFC) 00174 { 00175 FWARNING(("ProjectionCameraDecorator::getProjection: no decoratee!\n")); 00176 result.setIdentity(); 00177 return; 00178 } 00179 00180 Matrix cam,user; 00181 00182 camera->getBeacon()->getToWorld(cam); 00183 getUser()->getToWorld(user); 00184 cam.invert(); 00185 00186 cam.mult(user); 00187 00188 Pnt3f viewer(cam[3]); 00189 00190 Real32 eyeFac; 00191 00192 if(getLeftEye()) 00193 { 00194 eyeFac=-.5; 00195 } 00196 else 00197 { 00198 eyeFac=+.5; 00199 } 00200 00201 viewer += Vec3f(cam[0]) * eyeFac * getEyeSeparation(); 00202 00203 Real32 dist = getNormal().distance(viewer), 00204 dl = getLeft ().distance(viewer), 00205 db = getBottom().distance(viewer), 00206 f = camera->getNear() / dist; 00207 00208 MatrixFrustum(result, -dl * f, (getWidth ()-dl) * f, 00209 -db * f, (getHeight()-db) * f, 00210 camera->getNear(), camera->getFar() ); 00211 }
| void ProjectionCameraDecorator::getProjectionTranslation | ( | Matrix & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual] |
Reimplemented from osg::CameraDecorator.
Definition at line 214 of file OSGProjectionCameraDecorator.cpp.
References osg::VectorInterface< ValueTypeT, StorageInterfaceT >::cross(), FFATAL, osg::ProjectionCameraDecoratorBase::getBottom(), osg::CameraDecoratorBase::getDecoratee(), osg::StereoCameraDecoratorBase::getEyeSeparation(), osg::StereoCameraDecoratorBase::getLeftEye(), osg::ProjectionCameraDecoratorBase::getNormal(), osg::ProjectionCameraDecoratorBase::getUser(), osg::QuaternionBase< ValueTypeT >::getValue(), osg::QuaternionBase< ValueTypeT >::getValueAsAxisDeg(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::TransformationMatrix< ValueTypeT >::mult(), osg::NullFC, osg::TransformationMatrix< ValueTypeT >::setIdentity(), osg::TransformationMatrix< ValueTypeT >::setValue(), and osg::QuaternionBase< ValueTypeT >::setValueAsAxisDeg().
00217 { 00218 CameraPtr camera = getDecoratee(); 00219 00220 if(camera == NullFC) 00221 { 00222 FFATAL(("ProjectionCameraDecorator::getProjectionTranslation: " 00223 "no decoratee!\n")); 00224 result.setIdentity(); 00225 return; 00226 } 00227 00228 Matrix cam,user; 00229 00230 camera->getBeacon()->getToWorld(cam); 00231 getUser()->getToWorld(user); 00232 00233 cam.invert(); 00234 cam.mult(user); 00235 00236 Vec3f dir(getNormal().getNormal()), 00237 up (getBottom().getNormal()), 00238 right; 00239 Vec3f pos(cam[3]); 00240 00241 Real32 eyeFac; 00242 00243 if(getLeftEye()) 00244 { 00245 eyeFac=-.5; 00246 } 00247 else 00248 { 00249 eyeFac=+.5; 00250 } 00251 00252 pos += Vec3f(cam[0]) * eyeFac * getEyeSeparation(); 00253 00254 right = up.cross(dir); 00255 up = dir.cross(right); 00256 00257 result.setIdentity(); 00258 result.setValue(right, up, dir, pos); 00259 result.invert(); 00260 00261 result.mult(cam); 00262 #if 0 00263 static bool hack = true; 00264 Quaternion q( getNormal().getNormal(), Vec3f(0,0,1)); 00265 00266 Vec3f v; 00267 Real32 a; 00268 q.getValueAsAxisDeg(v,a); 00269 00270 // HACKKK 00271 if(hack && a > 50) 00272 { 00273 q.getValue(result); 00274 00275 Real32 ang1 = 54.44; 00276 Real32 ang2 = 6.27; 00277 00278 if(v[1] < 0) ang1 = -ang1; 00279 00280 Quaternion q1,q2; 00281 Matrix m1,m2; 00282 00283 q1.setValueAsAxisDeg(0,1,0,ang1); 00284 q2.setValueAsAxisDeg(1,0,0,ang2); 00285 00286 q1.getValue(m1); 00287 q2.getValue(m2); 00288 00289 result = m2; 00290 result.mult(m1); 00291 } 00292 #endif 00293 }
| void ProjectionCameraDecorator::updateData | ( | void | ) | [protected] |
Update dependent data, i.e. the internal Field values.
Definition at line 115 of file OSGProjectionCameraDecorator.cpp.
References osg::beginEditCP(), osg::ProjectionCameraDecoratorBase::BottomFieldMask, osg::VectorInterface< ValueTypeT, StorageInterfaceT >::cross(), osg::endEditCP(), FWARNING, osg::ProjectionCameraDecoratorBase::getSurface(), osg::ProjectionCameraDecoratorBase::HeightFieldMask, osg::PointInterface< ValueTypeT, StorageInterfaceT >::isZero(), osg::ProjectionCameraDecoratorBase::LeftFieldMask, osg::VectorInterface< ValueTypeT, StorageInterfaceT >::length(), osg::ProjectionCameraDecoratorBase::NormalFieldMask, and osg::ProjectionCameraDecoratorBase::WidthFieldMask.
Referenced by changed().
00116 { 00117 if(getSurface().size() != 4) 00118 { 00119 FWARNING(("ProjectionCameraDecorator: only defined for 4 point " 00120 "surfaces!\n")); 00121 return; 00122 } 00123 00124 Pnt3f p0(getSurface()[0]); 00125 Vec3f d1,d2,n; 00126 00127 d1 = getSurface()[1] - p0; 00128 d2 = getSurface()[3] - p0; 00129 00130 n = d1.cross(d2); 00131 if(n.isZero()) 00132 { 00133 FWARNING(("ProjectionCameraDecorator: normal is zero, surface " 00134 "ill-defined!\n")); 00135 return; 00136 } 00137 00138 ProjectionCameraDecoratorPtr ptr(this); 00139 beginEditCP(ptr, LeftFieldMask | BottomFieldMask | NormalFieldMask | 00140 WidthFieldMask | HeightFieldMask ); 00141 ptr->setLeft (Plane(d1,p0)); 00142 ptr->setBottom(Plane(d2,p0)); 00143 ptr->setNormal(Plane(n ,p0)); 00144 ptr->setWidth (d1.length()); 00145 ptr->setHeight(d2.length()); 00146 endEditCP (ptr, LeftFieldMask | BottomFieldMask | NormalFieldMask | 00147 WidthFieldMask | HeightFieldMask ); 00148 00149 }
| void ProjectionCameraDecorator::initMethod | ( | void | ) | [static, private] |
Reimplemented from osg::StereoCameraDecorator.
Definition at line 95 of file OSGProjectionCameraDecorator.cpp.
| void osg::ProjectionCameraDecorator::operator= | ( | const ProjectionCameraDecorator & | source | ) | [private] |
| osg::FieldContainerType & osg::ProjectionCameraDecoratorBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 58 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_type.
Referenced by osg::ProjectionCameraDecoratorBase::create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::ProjectionCameraDecoratorBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 65 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & ProjectionCameraDecoratorBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 172 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_type.
00173 { 00174 return _type; 00175 }
| const FieldContainerType & ProjectionCameraDecoratorBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 177 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_type.
00178 { 00179 return _type; 00180 }
| UInt32 ProjectionCameraDecoratorBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 192 of file OSGProjectionCameraDecoratorBase.cpp.
00193 { 00194 return sizeof(ProjectionCameraDecorator); 00195 }
| SFNodePtr * osg::ProjectionCameraDecoratorBase::getSFUser | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfUser.
00102 { 00103 return &_sfUser; 00104 }
| MFPnt3f * osg::ProjectionCameraDecoratorBase::getMFSurface | ( | void | ) | [inline, inherited] |
Definition at line 108 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_mfSurface.
00109 { 00110 return &_mfSurface; 00111 }
| SFReal32 * osg::ProjectionCameraDecoratorBase::getSFWidth | ( | void | ) | [inline, inherited] |
Definition at line 136 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfWidth.
00137 { 00138 return &_sfWidth; 00139 }
| SFReal32 * osg::ProjectionCameraDecoratorBase::getSFHeight | ( | void | ) | [inline, inherited] |
Definition at line 143 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfHeight.
00144 { 00145 return &_sfHeight; 00146 }
| NodePtr & osg::ProjectionCameraDecoratorBase::getUser | ( | void | ) | [inline, inherited] |
Definition at line 151 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfUser, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection(), getProjectionTranslation(), and getViewing().
00152 { 00153 return _sfUser.getValue(); 00154 }
| const NodePtr & osg::ProjectionCameraDecoratorBase::getUser | ( | void | ) | const [inline, inherited] |
Definition at line 158 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfUser, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00159 { 00160 return _sfUser.getValue(); 00161 }
| Real32 & osg::ProjectionCameraDecoratorBase::getWidth | ( | void | ) | [inline, inherited] |
Definition at line 235 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection().
00236 { 00237 return _sfWidth.getValue(); 00238 }
| const Real32 & osg::ProjectionCameraDecoratorBase::getWidth | ( | void | ) | const [inline, inherited] |
Definition at line 242 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00243 { 00244 return _sfWidth.getValue(); 00245 }
| Real32 & osg::ProjectionCameraDecoratorBase::getHeight | ( | void | ) | [inline, inherited] |
Definition at line 256 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection().
00257 { 00258 return _sfHeight.getValue(); 00259 }
| const Real32 & osg::ProjectionCameraDecoratorBase::getHeight | ( | void | ) | const [inline, inherited] |
Definition at line 263 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00264 { 00265 return _sfHeight.getValue(); 00266 }
Definition at line 278 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_mfSurface.
00279 { 00280 return _mfSurface[index]; 00281 }
| MFPnt3f & osg::ProjectionCameraDecoratorBase::getSurface | ( | void | ) | [inline, inherited] |
Definition at line 285 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_mfSurface.
Referenced by updateData().
00286 { 00287 return _mfSurface; 00288 }
| const MFPnt3f & osg::ProjectionCameraDecoratorBase::getSurface | ( | void | ) | const [inline, inherited] |
Definition at line 292 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_mfSurface.
00293 { 00294 return _mfSurface; 00295 }
| void osg::ProjectionCameraDecoratorBase::setUser | ( | const NodePtr & | value | ) | [inline, inherited] |
Definition at line 165 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfUser, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::ProjectionCameraDecoratorBase::setWidth | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 249 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfWidth, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::ProjectionCameraDecoratorBase::setHeight | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 270 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfHeight, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| UInt32 ProjectionCameraDecoratorBase::getBinSize | ( | const BitVector & | whichField | ) | [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 267 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_mfSurface, osg::ProjectionCameraDecoratorBase::_sfBottom, osg::ProjectionCameraDecoratorBase::_sfHeight, osg::ProjectionCameraDecoratorBase::_sfLeft, osg::ProjectionCameraDecoratorBase::_sfNormal, osg::ProjectionCameraDecoratorBase::_sfUser, osg::ProjectionCameraDecoratorBase::_sfWidth, osg::ProjectionCameraDecoratorBase::BottomFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::StereoCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::HeightFieldMask, osg::ProjectionCameraDecoratorBase::LeftFieldMask, osg::FieldBits::NoField, osg::ProjectionCameraDecoratorBase::NormalFieldMask, osg::ProjectionCameraDecoratorBase::SurfaceFieldMask, osg::ProjectionCameraDecoratorBase::UserFieldMask, and osg::ProjectionCameraDecoratorBase::WidthFieldMask.
00268 { 00269 UInt32 returnValue = Inherited::getBinSize(whichField); 00270 00271 if(FieldBits::NoField != (UserFieldMask & whichField)) 00272 { 00273 returnValue += _sfUser.getBinSize(); 00274 } 00275 00276 if(FieldBits::NoField != (SurfaceFieldMask & whichField)) 00277 { 00278 returnValue += _mfSurface.getBinSize(); 00279 } 00280 00281 if(FieldBits::NoField != (LeftFieldMask & whichField)) 00282 { 00283 returnValue += _sfLeft.getBinSize(); 00284 } 00285 00286 if(FieldBits::NoField != (BottomFieldMask & whichField)) 00287 { 00288 returnValue += _sfBottom.getBinSize(); 00289 } 00290 00291 if(FieldBits::NoField != (NormalFieldMask & whichField)) 00292 { 00293 returnValue += _sfNormal.getBinSize(); 00294 } 00295 00296 if(FieldBits::NoField != (WidthFieldMask & whichField)) 00297 { 00298 returnValue += _sfWidth.getBinSize(); 00299 } 00300 00301 if(FieldBits::NoField != (HeightFieldMask & whichField)) 00302 { 00303 returnValue += _sfHeight.getBinSize(); 00304 } 00305 00306 00307 return returnValue; 00308 }
| void ProjectionCameraDecoratorBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 310 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_mfSurface, osg::ProjectionCameraDecoratorBase::_sfBottom, osg::ProjectionCameraDecoratorBase::_sfHeight, osg::ProjectionCameraDecoratorBase::_sfLeft, osg::ProjectionCameraDecoratorBase::_sfNormal, osg::ProjectionCameraDecoratorBase::_sfUser, osg::ProjectionCameraDecoratorBase::_sfWidth, osg::ProjectionCameraDecoratorBase::BottomFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::StereoCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::HeightFieldMask, osg::ProjectionCameraDecoratorBase::LeftFieldMask, osg::FieldBits::NoField, osg::ProjectionCameraDecoratorBase::NormalFieldMask, osg::ProjectionCameraDecoratorBase::SurfaceFieldMask, osg::ProjectionCameraDecoratorBase::UserFieldMask, and osg::ProjectionCameraDecoratorBase::WidthFieldMask.
00312 { 00313 Inherited::copyToBin(pMem, whichField); 00314 00315 if(FieldBits::NoField != (UserFieldMask & whichField)) 00316 { 00317 _sfUser.copyToBin(pMem); 00318 } 00319 00320 if(FieldBits::NoField != (SurfaceFieldMask & whichField)) 00321 { 00322 _mfSurface.copyToBin(pMem); 00323 } 00324 00325 if(FieldBits::NoField != (LeftFieldMask & whichField)) 00326 { 00327 _sfLeft.copyToBin(pMem); 00328 } 00329 00330 if(FieldBits::NoField != (BottomFieldMask & whichField)) 00331 { 00332 _sfBottom.copyToBin(pMem); 00333 } 00334 00335 if(FieldBits::NoField != (NormalFieldMask & whichField)) 00336 { 00337 _sfNormal.copyToBin(pMem); 00338 } 00339 00340 if(FieldBits::NoField != (WidthFieldMask & whichField)) 00341 { 00342 _sfWidth.copyToBin(pMem); 00343 } 00344 00345 if(FieldBits::NoField != (HeightFieldMask & whichField)) 00346 { 00347 _sfHeight.copyToBin(pMem); 00348 } 00349 00350 00351 }
| void ProjectionCameraDecoratorBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 353 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_mfSurface, osg::ProjectionCameraDecoratorBase::_sfBottom, osg::ProjectionCameraDecoratorBase::_sfHeight, osg::ProjectionCameraDecoratorBase::_sfLeft, osg::ProjectionCameraDecoratorBase::_sfNormal, osg::ProjectionCameraDecoratorBase::_sfUser, osg::ProjectionCameraDecoratorBase::_sfWidth, osg::ProjectionCameraDecoratorBase::BottomFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::StereoCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::HeightFieldMask, osg::ProjectionCameraDecoratorBase::LeftFieldMask, osg::FieldBits::NoField, osg::ProjectionCameraDecoratorBase::NormalFieldMask, osg::ProjectionCameraDecoratorBase::SurfaceFieldMask, osg::ProjectionCameraDecoratorBase::UserFieldMask, and osg::ProjectionCameraDecoratorBase::WidthFieldMask.
00355 { 00356 Inherited::copyFromBin(pMem, whichField); 00357 00358 if(FieldBits::NoField != (UserFieldMask & whichField)) 00359 { 00360 _sfUser.copyFromBin(pMem); 00361 } 00362 00363 if(FieldBits::NoField != (SurfaceFieldMask & whichField)) 00364 { 00365 _mfSurface.copyFromBin(pMem); 00366 } 00367 00368 if(FieldBits::NoField != (LeftFieldMask & whichField)) 00369 { 00370 _sfLeft.copyFromBin(pMem); 00371 } 00372 00373 if(FieldBits::NoField != (BottomFieldMask & whichField)) 00374 { 00375 _sfBottom.copyFromBin(pMem); 00376 } 00377 00378 if(FieldBits::NoField != (NormalFieldMask & whichField)) 00379 { 00380 _sfNormal.copyFromBin(pMem); 00381 } 00382 00383 if(FieldBits::NoField != (WidthFieldMask & whichField)) 00384 { 00385 _sfWidth.copyFromBin(pMem); 00386 } 00387 00388 if(FieldBits::NoField != (HeightFieldMask & whichField)) 00389 { 00390 _sfHeight.copyFromBin(pMem); 00391 } 00392 00393 00394 }
| ProjectionCameraDecoratorPtr osg::ProjectionCameraDecoratorBase::create | ( | void | ) | [inline, static, inherited] |
Definition at line 72 of file OSGProjectionCameraDecoratorBase.inl.
References osg::AttachmentContainerPtr::dcast(), osg::ProjectionCameraDecoratorBase::getClassType(), osg::NullFC, and osg::ProjectionCameraDecoratorBase::shallowCopy().
00073 { 00074 ProjectionCameraDecoratorPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = ProjectionCameraDecoratorPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| ProjectionCameraDecoratorPtr osg::ProjectionCameraDecoratorBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Definition at line 87 of file OSGProjectionCameraDecoratorBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 ProjectionCameraDecoratorPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr ProjectionCameraDecoratorBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 183 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::ProjectionCameraDecoratorBase::create().
00184 { 00185 ProjectionCameraDecoratorPtr returnValue; 00186 00187 newPtr(returnValue, dynamic_cast<const ProjectionCameraDecorator *>(this)); 00188 00189 return returnValue; 00190 }
| SFPlane * osg::ProjectionCameraDecoratorBase::getSFLeft | ( | void | ) | [inline, protected, inherited] |
Definition at line 115 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfLeft.
00116 { 00117 return &_sfLeft; 00118 }
| SFPlane * osg::ProjectionCameraDecoratorBase::getSFBottom | ( | void | ) | [inline, protected, inherited] |
Definition at line 122 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfBottom.
00123 { 00124 return &_sfBottom; 00125 }
| SFPlane * osg::ProjectionCameraDecoratorBase::getSFNormal | ( | void | ) | [inline, protected, inherited] |
Definition at line 129 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfNormal.
00130 { 00131 return &_sfNormal; 00132 }
| Plane & osg::ProjectionCameraDecoratorBase::getLeft | ( | void | ) | [inline, protected, inherited] |
Definition at line 172 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfLeft, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection().
00173 { 00174 return _sfLeft.getValue(); 00175 }
| const Plane & osg::ProjectionCameraDecoratorBase::getLeft | ( | void | ) | const [inline, protected, inherited] |
Definition at line 179 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfLeft, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00180 { 00181 return _sfLeft.getValue(); 00182 }
| Plane & osg::ProjectionCameraDecoratorBase::getBottom | ( | void | ) | [inline, protected, inherited] |
Definition at line 193 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfBottom, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection(), and getProjectionTranslation().
00194 { 00195 return _sfBottom.getValue(); 00196 }
| const Plane & osg::ProjectionCameraDecoratorBase::getBottom | ( | void | ) | const [inline, protected, inherited] |
Definition at line 200 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfBottom, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00201 { 00202 return _sfBottom.getValue(); 00203 }
| Plane & osg::ProjectionCameraDecoratorBase::getNormal | ( | void | ) | [inline, protected, inherited] |
Definition at line 214 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfNormal, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection(), and getProjectionTranslation().
00215 { 00216 return _sfNormal.getValue(); 00217 }
| const Plane & osg::ProjectionCameraDecoratorBase::getNormal | ( | void | ) | const [inline, protected, inherited] |
Definition at line 221 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfNormal, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00222 { 00223 return _sfNormal.getValue(); 00224 }
| void osg::ProjectionCameraDecoratorBase::setLeft | ( | const Plane & | value | ) | [inline, protected, inherited] |
Definition at line 186 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfLeft, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::ProjectionCameraDecoratorBase::setBottom | ( | const Plane & | value | ) | [inline, protected, inherited] |
Definition at line 207 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfBottom, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::ProjectionCameraDecoratorBase::setNormal | ( | const Plane & | value | ) | [inline, protected, inherited] |
Definition at line 228 of file OSGProjectionCameraDecoratorBase.inl.
References osg::ProjectionCameraDecoratorBase::_sfNormal, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void ProjectionCameraDecoratorBase::executeSyncImpl | ( | ProjectionCameraDecoratorBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 397 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::_mfSurface, osg::ProjectionCameraDecoratorBase::_sfBottom, osg::ProjectionCameraDecoratorBase::_sfHeight, osg::ProjectionCameraDecoratorBase::_sfLeft, osg::ProjectionCameraDecoratorBase::_sfNormal, osg::ProjectionCameraDecoratorBase::_sfUser, osg::ProjectionCameraDecoratorBase::_sfWidth, osg::ProjectionCameraDecoratorBase::BottomFieldMask, osg::StereoCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::HeightFieldMask, osg::ProjectionCameraDecoratorBase::LeftFieldMask, osg::FieldBits::NoField, osg::ProjectionCameraDecoratorBase::NormalFieldMask, osg::ProjectionCameraDecoratorBase::SurfaceFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), osg::ProjectionCameraDecoratorBase::UserFieldMask, and osg::ProjectionCameraDecoratorBase::WidthFieldMask.
Referenced by osg::ProjectionCameraDecoratorBase::executeSync().
00399 { 00400 00401 Inherited::executeSyncImpl(pOther, whichField); 00402 00403 if(FieldBits::NoField != (UserFieldMask & whichField)) 00404 _sfUser.syncWith(pOther->_sfUser); 00405 00406 if(FieldBits::NoField != (SurfaceFieldMask & whichField)) 00407 _mfSurface.syncWith(pOther->_mfSurface); 00408 00409 if(FieldBits::NoField != (LeftFieldMask & whichField)) 00410 _sfLeft.syncWith(pOther->_sfLeft); 00411 00412 if(FieldBits::NoField != (BottomFieldMask & whichField)) 00413 _sfBottom.syncWith(pOther->_sfBottom); 00414 00415 if(FieldBits::NoField != (NormalFieldMask & whichField)) 00416 _sfNormal.syncWith(pOther->_sfNormal); 00417 00418 if(FieldBits::NoField != (WidthFieldMask & whichField)) 00419 _sfWidth.syncWith(pOther->_sfWidth); 00420 00421 if(FieldBits::NoField != (HeightFieldMask & whichField)) 00422 _sfHeight.syncWith(pOther->_sfHeight); 00423 00424 00425 }
| void StereoCameraDecoratorBase::executeSyncImpl | ( | StereoCameraDecoratorBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 247 of file OSGStereoCameraDecoratorBase.cpp.
References osg::StereoCameraDecoratorBase::_sfEyeSeparation, osg::StereoCameraDecoratorBase::_sfLeftEye, osg::CameraDecoratorBase::executeSyncImpl(), osg::StereoCameraDecoratorBase::EyeSeparationFieldMask, osg::StereoCameraDecoratorBase::LeftEyeFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::StereoCameraDecoratorBase::executeSync(), osg::ShearedStereoCameraDecoratorBase::executeSyncImpl(), and osg::ProjectionCameraDecoratorBase::executeSyncImpl().
00249 { 00250 00251 Inherited::executeSyncImpl(pOther, whichField); 00252 00253 if(FieldBits::NoField != (LeftEyeFieldMask & whichField)) 00254 _sfLeftEye.syncWith(pOther->_sfLeftEye); 00255 00256 if(FieldBits::NoField != (EyeSeparationFieldMask & whichField)) 00257 _sfEyeSeparation.syncWith(pOther->_sfEyeSeparation); 00258 00259 00260 }
| void CameraDecoratorBase::executeSyncImpl | ( | CameraDecoratorBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 214 of file OSGCameraDecoratorBase.cpp.
References osg::CameraDecoratorBase::_sfDecoratee, osg::CameraDecoratorBase::DecorateeFieldMask, osg::CameraBase::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::CameraDecoratorBase::executeSync(), osg::TileCameraDecoratorBase::executeSyncImpl(), osg::StereoCameraDecoratorBase::executeSyncImpl(), and osg::MatrixCameraDecoratorBase::executeSyncImpl().
00216 { 00217 00218 Inherited::executeSyncImpl(pOther, whichField); 00219 00220 if(FieldBits::NoField != (DecorateeFieldMask & whichField)) 00221 { 00222 _sfDecoratee.syncWith(pOther->_sfDecoratee); 00223 } 00224 00225 }
| void CameraBase::executeSyncImpl | ( | CameraBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 275 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfBeacon, osg::CameraBase::_sfFar, osg::CameraBase::_sfNear, osg::CameraBase::BeaconFieldMask, osg::AttachmentContainer::executeSyncImpl(), osg::CameraBase::FarFieldMask, osg::CameraBase::NearFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::CameraBase::executeSync(), osg::PerspectiveCameraBase::executeSyncImpl(), osg::OrthographicCameraBase::executeSyncImpl(), osg::MatrixCameraBase::executeSyncImpl(), and osg::CameraDecoratorBase::executeSyncImpl().
00277 { 00278 00279 Inherited::executeSyncImpl(pOther, whichField); 00280 00281 if(FieldBits::NoField != (BeaconFieldMask & whichField)) 00282 _sfBeacon.syncWith(pOther->_sfBeacon); 00283 00284 if(FieldBits::NoField != (NearFieldMask & whichField)) 00285 _sfNear.syncWith(pOther->_sfNear); 00286 00287 if(FieldBits::NoField != (FarFieldMask & whichField)) 00288 _sfFar.syncWith(pOther->_sfFar); 00289 00290 00291 }
| void AttachmentContainer::executeSyncImpl | ( | AttachmentContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 316 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::AttachmentContainer::AttachmentsFieldMask, osg::FieldContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::AttachmentContainer::executeSync(), osg::WindowBase::executeSyncImpl(), osg::ViewportBase::executeSyncImpl(), osg::ShaderParameterBase::executeSyncImpl(), osg::Node::executeSyncImpl(), osg::NodeCore::executeSyncImpl(), osg::MaterialBase::executeSyncImpl(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageBase::executeSyncImpl(), osg::ForegroundBase::executeSyncImpl(), osg::DisplayFilterBase::executeSyncImpl(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::CameraBase::executeSyncImpl(), and osg::BackgroundBase::executeSyncImpl().
00319 { 00320 Inherited::executeSyncImpl(pOther, whichField); 00321 00322 if (FieldBits::NoField != (AttachmentsFieldMask & whichField)) 00323 { 00324 _attachmentMap.syncWith(pOther->_attachmentMap); 00325 } 00326 }
| void osg::FieldContainer::executeSyncImpl | ( | FieldContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [inline, protected, inherited] |
Definition at line 333 of file OSGFieldContainerImpl.inl.
Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().
| void ProjectionCameraDecoratorBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 199 of file OSGProjectionCameraDecoratorBase.cpp.
References osg::ProjectionCameraDecoratorBase::executeSyncImpl().
00201 { 00202 this->executeSyncImpl((ProjectionCameraDecoratorBase *) &other, whichField); 00203 }
| SFBool * osg::StereoCameraDecoratorBase::getSFLeftEye | ( | void | ) | [inline, inherited] |
Definition at line 75 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfLeftEye.
00076 { 00077 return &_sfLeftEye; 00078 }
| SFReal32 * osg::StereoCameraDecoratorBase::getSFEyeSeparation | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfEyeSeparation.
00083 { 00084 return &_sfEyeSeparation; 00085 }
| bool & osg::StereoCameraDecoratorBase::getLeftEye | ( | void | ) | [inline, inherited] |
Definition at line 90 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfLeftEye, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::ShearedStereoCameraDecorator::getProjection(), getProjection(), and getProjectionTranslation().
00091 { 00092 return _sfLeftEye.getValue(); 00093 }
| const bool & osg::StereoCameraDecoratorBase::getLeftEye | ( | void | ) | const [inline, inherited] |
Definition at line 97 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfLeftEye, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00098 { 00099 return _sfLeftEye.getValue(); 00100 }
| Real32 & osg::StereoCameraDecoratorBase::getEyeSeparation | ( | void | ) | [inline, inherited] |
Definition at line 111 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfEyeSeparation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::ShearedStereoCameraDecorator::getProjection(), getProjection(), and getProjectionTranslation().
00112 { 00113 return _sfEyeSeparation.getValue(); 00114 }
| const Real32 & osg::StereoCameraDecoratorBase::getEyeSeparation | ( | void | ) | const [inline, inherited] |
Definition at line 118 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfEyeSeparation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00119 { 00120 return _sfEyeSeparation.getValue(); 00121 }
| void osg::StereoCameraDecoratorBase::setLeftEye | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 104 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfLeftEye, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00105 { 00106 _sfLeftEye.setValue(value); 00107 }
| void osg::StereoCameraDecoratorBase::setEyeSeparation | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 125 of file OSGStereoCameraDecoratorBase.inl.
References osg::StereoCameraDecoratorBase::_sfEyeSeparation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00126 { 00127 _sfEyeSeparation.setValue(value); 00128 }
| void CameraDecorator::draw | ( | DrawAction * | action, | |
| const Viewport & | port | |||
| ) | [virtual, inherited] |
Reimplemented from osg::Camera.
Definition at line 100 of file OSGCameraDecorator.cpp.
References FWARNING, osg::CameraDecoratorBase::getDecoratee(), and osg::NullFC.
00102 { 00103 CameraPtr camera = getDecoratee(); 00104 if(camera == NullFC) 00105 { 00106 FWARNING(("CameraDecorator::draw: no decoratee!\n")); 00107 return; 00108 } 00109 camera->draw(action, port); 00110 }
| SFCameraPtr * osg::CameraDecoratorBase::getSFDecoratee | ( | void | ) | [inline, inherited] |
Definition at line 74 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::_sfDecoratee.
00075 { 00076 return &_sfDecoratee; 00077 }
| SFNodePtr * osg::CameraDecoratorBase::getSFBeacon | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 98 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00099 { 00100 return getDecoratee()->getSFBeacon(); 00101 }
| SFReal32 * osg::CameraDecoratorBase::getSFNear | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 104 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00105 { 00106 return getDecoratee()->getSFNear(); 00107 }
| SFReal32 * osg::CameraDecoratorBase::getSFFar | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 110 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00111 { 00112 return getDecoratee()->getSFFar(); 00113 }
| CameraPtr & osg::CameraDecoratorBase::getDecoratee | ( | void | ) | [inline, inherited] |
Definition at line 80 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::_sfDecoratee, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::PolygonBackground::clear(), osg::GradientBackground::clear(), osg::PolygonForeground::draw(), osg::CameraDecorator::draw(), osg::CameraDecoratorBase::getBeacon(), osg::TileCameraDecorator::getDecoration(), osg::ShearedStereoCameraDecorator::getDecoration(), osg::CameraDecoratorBase::getFar(), osg::CameraDecoratorBase::getNear(), osg::TileCameraDecorator::getProjection(), osg::ShearedStereoCameraDecorator::getProjection(), getProjection(), osg::MatrixCameraDecorator::getProjection(), osg::CameraDecorator::getProjection(), getProjectionTranslation(), osg::MatrixCameraDecorator::getProjectionTranslation(), osg::CameraDecorator::getProjectionTranslation(), osg::CameraDecoratorBase::getSFBeacon(), osg::CameraDecoratorBase::getSFFar(), osg::CameraDecoratorBase::getSFNear(), osg::MatrixCameraDecorator::getViewing(), osg::CameraDecorator::getViewing(), osg::CameraDecoratorBase::setBeacon(), osg::CameraDecoratorBase::setFar(), and osg::CameraDecoratorBase::setNear().
00081 { 00082 return _sfDecoratee.getValue(); 00083 }
| const CameraPtr & osg::CameraDecoratorBase::getDecoratee | ( | void | ) | const [inline, inherited] |
Definition at line 86 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::_sfDecoratee, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00087 { 00088 return _sfDecoratee.getValue(); 00089 }
| NodePtr & osg::CameraDecoratorBase::getBeacon | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 117 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00118 { 00119 return getDecoratee()->getBeacon(); 00120 }
| const NodePtr & osg::CameraDecoratorBase::getBeacon | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 123 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00124 { 00125 return getDecoratee()->getBeacon(); 00126 }
| Real32 & osg::CameraDecoratorBase::getNear | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 137 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00138 { 00139 return getDecoratee()->getNear(); 00140 }
| const Real32 & osg::CameraDecoratorBase::getNear | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 143 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00144 { 00145 return getDecoratee()->getNear(); 00146 }
| Real32 & osg::CameraDecoratorBase::getFar | ( | void | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 157 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00158 { 00159 return getDecoratee()->getFar(); 00160 }
| const Real32 & osg::CameraDecoratorBase::getFar | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 163 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::getDecoratee().
00164 { 00165 return getDecoratee()->getFar(); 00166 }
| void osg::CameraDecoratorBase::setDecoratee | ( | const CameraPtr & | value | ) | [inline, inherited] |
Definition at line 92 of file OSGCameraDecoratorBase.inl.
References osg::CameraDecoratorBase::_sfDecoratee, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00093 { 00094 _sfDecoratee.setValue(value); 00095 }
| void osg::CameraDecoratorBase::setBeacon | ( | const NodePtr & | value | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 129 of file OSGCameraDecoratorBase.inl.
References osg::CameraBase::BeaconFieldMask, osg::beginEditCP(), osg::endEditCP(), and osg::CameraDecoratorBase::getDecoratee().
00130 { 00131 beginEditCP(getDecoratee(), BeaconFieldMask); 00132 getDecoratee()->setBeacon(value); 00133 endEditCP (getDecoratee(), BeaconFieldMask); 00134 }
| void osg::CameraDecoratorBase::setNear | ( | const Real32 & | value | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 149 of file OSGCameraDecoratorBase.inl.
References osg::beginEditCP(), osg::endEditCP(), osg::CameraDecoratorBase::getDecoratee(), and osg::CameraBase::NearFieldMask.
00150 { 00151 beginEditCP(getDecoratee(), NearFieldMask); 00152 getDecoratee()->setNear(value); 00153 endEditCP (getDecoratee(), NearFieldMask); 00154 }
| void osg::CameraDecoratorBase::setFar | ( | const Real32 & | value | ) | [inline, virtual, inherited] |
Reimplemented from osg::CameraBase.
Definition at line 169 of file OSGCameraDecoratorBase.inl.
References osg::beginEditCP(), osg::endEditCP(), osg::CameraBase::FarFieldMask, and osg::CameraDecoratorBase::getDecoratee().
00170 { 00171 beginEditCP(getDecoratee(), FarFieldMask); 00172 getDecoratee()->setFar(value); 00173 endEditCP (getDecoratee(), FarFieldMask); 00174 }
| static const char* osg::Camera::getClassname | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::MatrixCamera, osg::OffCenterPerspectiveCamera, osg::PerspectiveCamera, and osg::TileCameraDecorator.
Definition at line 73 of file OSGCamera.h.
| void Camera::setup | ( | DrawActionBase * | action, | |
| const Viewport & | port | |||
| ) | [virtual, inherited] |
Setup OpenGL for rendering, call all the necessary commands to start rendering with this camera.
Definition at line 109 of file OSGCamera.cpp.
References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::TransformationMatrix< ValueTypeT >::getValues(), osg::Camera::getViewing(), and osg::TransformationMatrix< ValueTypeT >::mult().
00111 { 00112 Matrix m, t; 00113 00114 // set the projection 00115 00116 getProjection ( m, port.getPixelWidth(), port.getPixelHeight() ); 00117 getProjectionTranslation( t, port.getPixelWidth(), port.getPixelHeight() ); 00118 00119 m.mult(t); 00120 00121 //SDEBUG << "Projection matrix: " << m << std::endl; 00122 00123 glMatrixMode( GL_PROJECTION ); 00124 glLoadMatrixf( m.getValues() ); 00125 00126 // set the viewing 00127 00128 getViewing( m, port.getPixelWidth(), port.getPixelHeight() ); 00129 00130 //SDEBUG << "Viewing matrix: " << m << std::endl; 00131 00132 glMatrixMode( GL_MODELVIEW ); 00133 glLoadMatrixf( m.getValues() ); 00134 }
| void Camera::setupProjection | ( | DrawActionBase * | action, | |
| const Viewport & | port | |||
| ) | [virtual, inherited] |
Setup OpenGL projection for rendering.
Definition at line 138 of file OSGCamera.cpp.
References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::TransformationMatrix< ValueTypeT >::getValues(), and osg::TransformationMatrix< ValueTypeT >::mult().
Referenced by osg::RenderAction::start().
00140 { 00141 Matrix m, t; 00142 00143 // set the projection 00144 00145 getProjection ( m, port.getPixelWidth(), port.getPixelHeight() ); 00146 getProjectionTranslation( t, port.getPixelWidth(), port.getPixelHeight() ); 00147 00148 m.mult(t); 00149 00150 //SDEBUG << "Projection matrix: " << m << std::endl; 00151 00152 glMatrixMode( GL_PROJECTION ); 00153 glLoadMatrixf( m.getValues() ); 00154 }
| void Camera::getFrustum | ( | FrustumVolume & | result, | |
| const Viewport & | p | |||
| ) | [virtual, inherited] |
Calculate the frustum of this camera's visible area.
Definition at line 202 of file OSGCamera.cpp.
References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::Camera::getViewing(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::FrustumVolume::setPlanes().
Referenced by osg::DrawActionBase::start().
00203 { 00204 Matrix mv,prt,pr; 00205 00206 getProjection (pr , p.getPixelWidth(), p.getPixelHeight()); 00207 getProjectionTranslation(prt, p.getPixelWidth(), p.getPixelHeight()); 00208 getViewing (mv , p.getPixelWidth(), p.getPixelHeight()); 00209 00210 pr.mult(prt); 00211 pr.mult(mv ); 00212 00213 result.setPlanes(pr); 00214 }
| void Camera::getFrustum | ( | FrustumVolume & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual, inherited] |
Calculate the frustum of this camera's visible area (w,h instead port).
Definition at line 218 of file OSGCamera.cpp.
References osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::Camera::getViewing(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::FrustumVolume::setPlanes().
00220 { 00221 Matrix mv,prt,pr; 00222 00223 getProjection (pr , width, height); 00224 getProjectionTranslation(prt, width, height); 00225 getViewing (mv , width, height); 00226 00227 pr.mult(prt); 00228 pr.mult(mv ); 00229 00230 result.setPlanes(pr); 00231 }
Calculate the matrix that transforms world coordinates into the screen coordinate system for this camera.
Definition at line 236 of file OSGCamera.cpp.
References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::Camera::getViewing(), and osg::TransformationMatrix< ValueTypeT >::mult().
Referenced by osg::ScreenGroup::calcMatrix(), and osg::RenderAction::start().
00237 { 00238 Matrix mv,prt,pr; 00239 00240 getProjection (result, p.getPixelWidth(), p.getPixelHeight()); 00241 getProjectionTranslation(prt , p.getPixelWidth(), p.getPixelHeight()); 00242 getViewing (mv , p.getPixelWidth(), p.getPixelHeight()); 00243 00244 result.mult(prt); 00245 result.mult(mv ); 00246 }
Get/calculate the decoration matrix for this camera. The default is identity.
Reimplemented in osg::ShearedStereoCameraDecorator, and osg::TileCameraDecorator.
Definition at line 250 of file OSGCamera.cpp.
References osg::TransformationMatrix< ValueTypeT >::setIdentity().
Referenced by osg::PolygonBackground::clear(), and osg::PolygonForeground::draw().
00251 { 00252 result.setIdentity(); 00253 }
Calculate a ray that starts at the camera position and goes through the pixel x, y in the viewport port. x and y are relative to the parent window's upper left corner.
Definition at line 259 of file OSGCamera.cpp.
References osg::ViewportBase::getParent(), osg::Viewport::getPixelHeight(), osg::Viewport::getPixelLeft(), osg::Viewport::getPixelTop(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::Camera::getViewing(), osg::TransformationMatrix< ValueTypeT >::invertFrom(), osg::TransformationMatrix< ValueTypeT >::mult(), osg::TransformationMatrix< ValueTypeT >::multFullMatrixPnt(), and osg::Line::setValue().
00260 { 00261 if(port.getPixelWidth() <= 0 || port.getPixelHeight() <= 0) 00262 { 00263 return false; 00264 } 00265 00266 Matrix proj, projtrans, view; 00267 00268 getProjection(proj, port.getPixelWidth(), port.getPixelHeight()); 00269 getProjectionTranslation(projtrans, port.getPixelWidth(), 00270 port.getPixelHeight()); 00271 getViewing(view, port.getPixelWidth(), port.getPixelHeight()); 00272 00273 Matrix wctocc = proj; 00274 wctocc.mult(projtrans); 00275 wctocc.mult(view); 00276 00277 Matrix cctowc; 00278 cctowc.invertFrom(wctocc); 00279 00280 Real32 rx = (x - port.getPixelLeft()) / (Real32) port.getPixelWidth() 00281 * 2.f - 1.f, 00282 ry = 1.f - ((y - (port.getParent()->getHeight() - 00283 port.getPixelTop()) 00284 ) / 00285 (Real32) port.getPixelHeight() 00286 ) * 2.f; 00287 00288 Pnt3f from, at; 00289 cctowc.multFullMatrixPnt(Pnt3f(rx, ry, -1), from); 00290 cctowc.multFullMatrixPnt(Pnt3f(rx, ry, 1), at); 00291 00292 line.setValue(from, at-from); 00293 00294 return true; 00295 }
| void AttachmentContainer::addAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 84 of file OSGAttachmentContainer.cpp.
References osg::addRefCP(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, and osg::subRefCP().
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::Node::onCreate(), and osg::Image::setAttachmentField().
00086 { 00087 UInt32 key; 00088 00089 if(fieldContainerP == NullFC) 00090 return; 00091 00092 key = (UInt32 (fieldContainerP->getGroupId()) << 16) | binding; 00093 00094 addRefCP(fieldContainerP); 00095 00096 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00097 { 00098 fieldContainerP->addParent(getPtr()); 00099 } 00100 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00101 00102 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00103 00104 if(fcI != _attachmentMap.getValue().end()) 00105 { 00106 beginEditCP((*fcI).second, Attachment::ParentsFieldMask); 00107 { 00108 (*fcI).second->subParent(getPtr()); 00109 } 00110 endEditCP ((*fcI).second, Attachment::ParentsFieldMask); 00111 00112 subRefCP((*fcI).second); 00113 00114 (*fcI).second = fieldContainerP; 00115 } 00116 else 00117 { 00118 _attachmentMap.getValue()[key] = fieldContainerP; 00119 } 00120 }
| void AttachmentContainer::subAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 122 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::beginEditCP(), osg::endEditCP(), osg::AttachmentContainer::getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::NullFC, osg::Attachment::ParentsFieldMask, and osg::subRefCP().
00124 { 00125 UInt32 key; 00126 00127 AttachmentMap::iterator fcI; 00128 00129 if(fieldContainerP == NullFC) 00130 return; 00131 00132 key = (UInt32(fieldContainerP->getGroupId()) << 16) | binding; 00133 00134 fcI = _attachmentMap.getValue().find(key); 00135 00136 if(fcI != _attachmentMap.getValue().end()) 00137 { 00138 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00139 { 00140 (*fcI).second->subParent(getPtr()); 00141 } 00142 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00143 00144 subRefCP((*fcI).second); 00145 00146 _attachmentMap.getValue().erase(fcI); 00147 } 00148 }
| AttachmentPtr AttachmentContainer::findAttachment | ( | UInt32 | groupId, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 150 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::NullFC.
Referenced by osg::Image::findAttachmentField(), and osg::Image::setAttachmentField().
00152 { 00153 UInt32 key = (UInt32(groupId) << 16) | binding; 00154 00155 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00156 00157 if(fcI == _attachmentMap.getValue().end()) 00158 { 00159 return NullFC; 00160 } 00161 else 00162 { 00163 return (*fcI).second; 00164 } 00165 }
| AttachmentPtr osg::AttachmentContainer::findAttachment | ( | const FieldContainerType & | type, | |
| UInt16 | binding = 0 | |||
| ) | [inline, inherited] |
Definition at line 57 of file OSGAttachmentContainerImpl.inl.
00060 { 00061 return findAttachment(type.getGroupId(), binding); 00062 }
| SFAttachmentMap * AttachmentContainer::getSFAttachments | ( | void | ) | [inherited] |
Field Access
Definition at line 170 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap.
00171 { 00172 return &_attachmentMap; 00173 }
| AttachmentContainerPtr AttachmentContainer::getPtr | ( | void | ) | [protected, inherited] |
Definition at line 352 of file OSGAttachmentContainer.cpp.
Referenced by osg::FileGrabForeground::draw(), osg::FBOViewport::render(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
| UInt16 osg::FieldContainer::getClassGroupId | ( | void | ) | [inline, static, inherited] |
Definition at line 71 of file OSGFieldContainerImpl.inl.
References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().
00072 { 00073 return _type.getGroupId(); 00074 }
| UInt32 osg::FieldContainer::getTypeId | ( | void | ) | const [inline, inherited] |
Definition at line 77 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getId(), and osg::FieldContainer::getType().
Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().
00078 { 00079 return getType().getId(); 00080 }
| UInt16 osg::FieldContainer::getGroupId | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().
Referenced by osg::fcptrAttributeMap(), osg::Image::setAttachmentField(), and osg::stringAttributeMap().
00084 { 00085 return getType().getGroupId(); 00086 }
| const Char8 * osg::FieldContainer::getTypeName | ( | void | ) | const [inline, inherited] |
Definition at line 89 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getCName(), and osg::FieldContainer::getType().
00090 { 00091 return getType().getCName(); 00092 }
Generic Field Access
Definition at line 95 of file OSGFieldContainerImpl.inl.
References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().
Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().
00096 { 00097 const FieldDescription *desc = getType().getFieldDescription(fieldId); 00098 00099 return desc ? desc->getField(*this) : NULL; 00100 }
Generic Field Access
Definition at line 103 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().
00104 { 00105 const FieldDescription *desc =getType().findFieldDescription(fieldName); 00106 00107 return desc ? desc->getField(*this) : NULL; 00108 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result, | |
| const typename ObjectPtrT::StoredObjectType * | prototypeP | |||
| ) | [inline, static, protected, inherited] |
Definition at line 138 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FCPtrAttributeMapBase::createEmpty(), osg::FBOViewportBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), osg::DVRVolumeBase::createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistortionDisplayFilterBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayFilterForegroundBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorDisplayFilterBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(), osg::ClusterWindowBase::createEmpty(), osg::ClipPlaneChunkBase::createEmpty(), osg::ClipPlaneBase::createEmpty(), osg::ChunkMaterialBase::createEmpty(), osg::BlendChunkBase::createEmpty(), osg::BillboardBase::createEmpty(), osg::XWindowBase::shallowCopy(), osg::WIN32WindowBase::shallowCopy(), osg::ViewportBase::shallowCopy(), osg::VertexProgramChunkBase::shallowCopy(), osg::TwoSidedLightingChunkBase::shallowCopy(), osg::TransformChunkBase::shallowCopy(), osg::TransformBase::shallowCopy(), osg::TileCameraDecoratorBase::shallowCopy(), osg::TextureTransformChunkBase::shallowCopy(), osg::TextureGrabForegroundBase::shallowCopy(), osg::TextureGrabBackgroundBase::shallowCopy(), osg::TextureChunkBase::shallowCopy(), osg::TextureBackgroundBase::shallowCopy(), osg::TexGenChunkBase::shallowCopy(), osg::SwitchMaterialBase::shallowCopy(), osg::SwitchBase::shallowCopy(), osg::SurfaceBase::shallowCopy(), osg::StringAttributeMapBase::shallowCopy(), osg::StereoBufferViewportBase::shallowCopy(), osg::StencilChunkBase::shallowCopy(), osg::StateSortingGroupBase::shallowCopy(), osg::StateBase::shallowCopy(), osg::SpotLightBase::shallowCopy(), osg::SortFirstWindowBase::shallowCopy(), osg::SolidBackgroundBase::shallowCopy(), osg::SlicesBase::shallowCopy(), osg::SkyBackgroundBase::shallowCopy(), osg::SimpleTexturedMaterialBase::shallowCopy(), osg::SimpleStatisticsForegroundBase::shallowCopy(), osg::SimpleMaterialBase::shallowCopy(), osg::SHLParameterChunkBase::shallowCopy(), osg::SHLChunkBase::shallowCopy(), osg::ShearedStereoCameraDecoratorBase::shallowCopy(), osg::ShaderParameterVec4fBase::shallowCopy(), osg::ShaderParameterVec3fBase::shallowCopy(), osg::ShaderParameterVec2fBase::shallowCopy(), osg::ShaderParameterStringBase::shallowCopy(), osg::ShaderParameterRealBase::shallowCopy(), osg::ShaderParameterMVec4fBase::shallowCopy(), osg::ShaderParameterMVec3fBase::shallowCopy(), osg::ShaderParameterMVec2fBase::shallowCopy(), osg::ShaderParameterMRealBase::shallowCopy(), osg::ShaderParameterMMatrixBase::shallowCopy(), osg::ShaderParameterMIntBase::shallowCopy(), osg::ShaderParameterMatrixBase::shallowCopy(), osg::ShaderParameterIntBase::shallowCopy(), osg::ShaderParameterBoolBase::shallowCopy(), osg::ScreenGroupBase::shallowCopy(), osg::SClipPlaneChunkBase::shallowCopy(), osg::ResolutionDisplayFilterBase::shallowCopy(), osg::RenderOptionsBase::shallowCopy(), osg::RegisterCombinersChunkBase::shallowCopy(), osg::QTWindowBase::shallowCopy(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), osg::FresnelMaterialBase::shallowCopy(), osg::FragmentProgramChunkBase::shallowCopy(), osg::FileGrabForegroundBase::shallowCopy(), osg::FCPtrAttributeMapBase::shallowCopy(), osg::FBOViewportBase::shallowCopy(), osg::FatBorderChunkBase::shallowCopy(), osg::DVRVolumeTextureBase::shallowCopy(), osg::DVRVolumeBase::shallowCopy(), osg::DVRSimpleShaderBase::shallowCopy(), osg::DVRSimpleLUTShaderBase::shallowCopy(), osg::DVRMtexLUTShaderBase::shallowCopy(), osg::DVRLookupTableBase::shallowCopy(), osg::DVRIsoSurfaceBase::shallowCopy(), osg::DVRIsoShaderBase::shallowCopy(), osg::DVRGeometryBase::shallowCopy(), osg::DVRClipObjectsBase::shallowCopy(), osg::DVRClipGeometryBase::shallowCopy(), osg::DVRAppearanceBase::shallowCopy(), osg::DistortionDisplayFilterBase::shallowCopy(), osg::DistanceLODBase::shallowCopy(), osg::DisplayFilterForegroundBase::shallowCopy(), osg::DisplayCalibrationBase::shallowCopy(), osg::DirectionalLightBase::shallowCopy(), osg::DepthClearBackgroundBase::shallowCopy(), osg::DepthChunkBase::shallowCopy(), osg::CubeTextureChunkBase::shallowCopy(), osg::ComponentTransformBase::shallowCopy(), osg::ColorMaskChunkBase::shallowCopy(), osg::ColorDisplayFilterBase::shallowCopy(), osg::ColorBufferViewportBase::shallowCopy(), osg::ClusterWindowBase::shallowCopy(), osg::ClipPlaneChunkBase::shallowCopy(), osg::ClipPlaneBase::shallowCopy(), osg::ChunkMaterialBase::shallowCopy(), osg::BlendChunkBase::shallowCopy(), and osg::BillboardBase::shallowCopy().
00141 { 00142 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00143 00144 UInt8 *pTmp; 00145 00146 result._containerSize = sizeof(ObjectType); 00147 00148 pTmp = 00149 static_cast<UInt8 *>(operator new( 00150 sizeof(Int32) + // ReferenceCount 00151 sizeof(UInt32) + // ContainerId 00152 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00153 00154 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00155 00156 pTmp += sizeof(Int32); 00157 00158 result._storeP = (pTmp + sizeof(UInt32)); 00159 00160 #ifdef OSG_DEBUG_FCPTR 00161 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00162 #endif 00163 00164 *(reinterpret_cast<UInt32 *>(pTmp)) = 00165 FieldContainerFactory::the()->registerFieldContainer(result); 00166 00167 Thread::getCurrentChangeList()->addCreated( 00168 *(reinterpret_cast<UInt32 *>(pTmp))); 00169 00170 pTmp += sizeof(UInt32); 00171 00172 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00173 00174 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00175 { 00176 pTmp = 00177 reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP)); 00178 00179 pTmp += sizeof(ObjectType); 00180 } 00181 00182 result->onCreate(prototypeP); 00183 00184 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00185 { 00186 aObject[i].onCreateAspect(aObject, prototypeP); 00187 } 00188 00189 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00190 00191 fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 00192 Thread::getAspect(), 00193 result._storeP, 00194 // ObjectType::getClassType().getCName(), 00195 ObjectType::getClassType().getId()); 00196 #endif 00197 00198 #ifdef OSG_DEBUG_TYPED_FCPTR 00199 result.updateTypedStore(); 00200 #endif 00201 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result | ) | [inline, static, protected, inherited] |
Definition at line 204 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
00205 { 00206 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00207 00208 UInt8 *pTmp; 00209 00210 result._containerSize = sizeof(ObjectType); 00211 00212 pTmp = 00213 static_cast<UInt8 *>(operator new( 00214 sizeof(Int32) + // ReferenceCount 00215 sizeof(UInt32) + // ContainerId 00216 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00217 00218 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00219 00220 pTmp += sizeof(Int32); 00221 00222 result._storeP = (pTmp + sizeof(UInt32)); 00223 00224 #ifdef OSG_DEBUG_FCPTR 00225 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00226 #endif 00227 00228 *(reinterpret_cast<UInt32 *>(pTmp)) = 00229 FieldContainerFactory::the()->registerFieldContainer(result); 00230 00231 Thread::getCurrentChangeList()->addCreated( 00232 *(reinterpret_cast<UInt32 *>(pTmp))); 00233 00234 pTmp += sizeof(UInt32); 00235 00236 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00237 00238 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00239 { 00240 pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType()); 00241 00242 pTmp += sizeof(ObjectType); 00243 } 00244 00245 result->onCreate(); 00246 00247 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00248 { 00249 aObject[i].onCreateAspect(aObject); 00250 } 00251 00252 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00253 fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 00254 Thread::getAspect(), 00255 result._storeP, 00256 // ObjectType::getClassType().getCName(), 00257 ObjectType::getClassType().getId()); 00258 #endif 00259 00260 #ifdef OSG_DEBUG_TYPED_FCPTR 00261 result.updateTypedStore(); 00262 #endif 00263 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
| void osg::FieldContainer::endEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
Definition at line 291 of file OSGFieldContainerImpl.inl.
References osg::endEditCP().
00292 { 00293 FieldContainerPtr tmpPtr(this); 00294 endEditCP(tmpPtr, whichField); 00295 }
| void osg::FieldContainer::onCreate | ( | const FieldContainer * | source = NULL |
) | [inline, protected, inherited] |
Definition at line 318 of file OSGFieldContainerImpl.inl.
Referenced by osg::ShaderParameterChunk::onCreate().
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
| void FieldContainer::onDestroy | ( | void | ) | [protected, virtual, inherited] |
Reimplemented in osg::NodeCore, osg::Attachment, osg::Geometry, osg::Surface, osg::MaterialPool, osg::CubeTextureChunk, osg::TextureChunk, osg::FBOViewport, osg::Window, osg::ShaderParameterChunk, and osg::SHLChunk.
Definition at line 98 of file OSGFieldContainer.cpp.
friend class FieldContainer [friend] |
Reimplemented from osg::ProjectionCameraDecoratorBase.
Definition at line 124 of file OSGProjectionCameraDecorator.h.
friend class ProjectionCameraDecoratorBase [friend] |
Definition at line 125 of file OSGProjectionCameraDecorator.h.
const osg::BitVector ProjectionCameraDecoratorBase::UserFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::UserFieldId)
Definition at line 110 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), and osg::ProjectionCameraDecoratorBase::getBinSize().
const osg::BitVector ProjectionCameraDecoratorBase::SurfaceFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::SurfaceFieldId)
Definition at line 111 of file OSGProjectionCameraDecoratorBase.h.
Referenced by changed(), osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), and osg::ProjectionCameraDecoratorBase::getBinSize().
const osg::BitVector ProjectionCameraDecoratorBase::LeftFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::LeftFieldId)
Definition at line 112 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), and updateData().
const osg::BitVector ProjectionCameraDecoratorBase::BottomFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::BottomFieldId)
Definition at line 113 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), and updateData().
const osg::BitVector ProjectionCameraDecoratorBase::NormalFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::NormalFieldId)
Definition at line 114 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), and updateData().
const osg::BitVector ProjectionCameraDecoratorBase::WidthFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::WidthFieldId)
Definition at line 115 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), and updateData().
const osg::BitVector ProjectionCameraDecoratorBase::HeightFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ProjectionCameraDecoratorBase::HeightFieldId)
Definition at line 116 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), and updateData().
const osg::BitVector ProjectionCameraDecoratorBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::StereoCameraDecoratorBase.
Definition at line 119 of file OSGProjectionCameraDecoratorBase.h.
NodePtr ProjectionCameraDecoratorBase::_sfUser [protected, inherited] |
The coordinate system relative to the camera.
Definition at line 208 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getSFUser(), osg::ProjectionCameraDecoratorBase::getUser(), and osg::ProjectionCameraDecoratorBase::setUser().
Pnt3f ProjectionCameraDecoratorBase::_mfSurface [protected, inherited] |
4 points describing the rectangular projection surface, in the camera coordinate system. Counterclockwise, starting at lower left corner of the screen.
Definition at line 209 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getMFSurface(), and osg::ProjectionCameraDecoratorBase::getSurface().
Plane ProjectionCameraDecoratorBase::_sfLeft [protected, inherited] |
The left edge direction vector.
Definition at line 210 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getLeft(), osg::ProjectionCameraDecoratorBase::getSFLeft(), and osg::ProjectionCameraDecoratorBase::setLeft().
Plane ProjectionCameraDecoratorBase::_sfBottom [protected, inherited] |
The bottom edge direction vector.
Definition at line 211 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getBottom(), osg::ProjectionCameraDecoratorBase::getSFBottom(), and osg::ProjectionCameraDecoratorBase::setBottom().
Plane ProjectionCameraDecoratorBase::_sfNormal [protected, inherited] |
The normal of the projection surface.
Definition at line 212 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getNormal(), osg::ProjectionCameraDecoratorBase::getSFNormal(), and osg::ProjectionCameraDecoratorBase::setNormal().
Real32 ProjectionCameraDecoratorBase::_sfWidth [protected, inherited] |
The width of the projection screen.
Definition at line 213 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getSFWidth(), osg::ProjectionCameraDecoratorBase::getWidth(), and osg::ProjectionCameraDecoratorBase::setWidth().
Real32 ProjectionCameraDecoratorBase::_sfHeight [protected, inherited] |
The height of the projection screen.
Definition at line 214 of file OSGProjectionCameraDecoratorBase.h.
Referenced by osg::ProjectionCameraDecoratorBase::copyFromBin(), osg::ProjectionCameraDecoratorBase::copyToBin(), osg::ProjectionCameraDecoratorBase::executeSyncImpl(), osg::ProjectionCameraDecoratorBase::getBinSize(), osg::ProjectionCameraDecoratorBase::getHeight(), osg::ProjectionCameraDecoratorBase::getSFHeight(), and osg::ProjectionCameraDecoratorBase::setHeight().
const osg::BitVector StereoCameraDecoratorBase::LeftEyeFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << StereoCameraDecoratorBase::LeftEyeFieldId)
Definition at line 100 of file OSGStereoCameraDecoratorBase.h.
Referenced by osg::StereoCameraDecoratorBase::copyFromBin(), osg::StereoCameraDecoratorBase::copyToBin(), osg::StereoCameraDecoratorBase::executeSyncImpl(), and osg::StereoCameraDecoratorBase::getBinSize().
const osg::BitVector StereoCameraDecoratorBase::EyeSeparationFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << StereoCameraDecoratorBase::EyeSeparationFieldId)
Definition at line 101 of file OSGStereoCameraDecoratorBase.h.
Referenced by osg::StereoCameraDecoratorBase::copyFromBin(), osg::StereoCameraDecoratorBase::copyToBin(), osg::StereoCameraDecoratorBase::executeSyncImpl(), and osg::StereoCameraDecoratorBase::getBinSize().
bool StereoCameraDecoratorBase::_sfLeftEye [protected, inherited] |
Flag to distinguish between left and right eye views.
Definition at line 169 of file OSGStereoCameraDecoratorBase.h.
Referenced by osg::StereoCameraDecoratorBase::copyFromBin(), osg::StereoCameraDecoratorBase::copyToBin(), osg::StereoCameraDecoratorBase::executeSyncImpl(), osg::StereoCameraDecoratorBase::getBinSize(), osg::StereoCameraDecoratorBase::getLeftEye(), osg::StereoCameraDecoratorBase::getSFLeftEye(), and osg::StereoCameraDecoratorBase::setLeftEye().
Real32 StereoCameraDecoratorBase::_sfEyeSeparation [protected, inherited] |
The distance between the two eyes.
Definition at line 170 of file OSGStereoCameraDecoratorBase.h.
Referenced by osg::StereoCameraDecoratorBase::copyFromBin(), osg::StereoCameraDecoratorBase::copyToBin(), osg::StereoCameraDecoratorBase::executeSyncImpl(), osg::StereoCameraDecoratorBase::getBinSize(), osg::StereoCameraDecoratorBase::getEyeSeparation(), osg::StereoCameraDecoratorBase::getSFEyeSeparation(), and osg::StereoCameraDecoratorBase::setEyeSeparation().
const osg::BitVector CameraDecoratorBase::DecorateeFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << CameraDecoratorBase::DecorateeFieldId)
Definition at line 98 of file OSGCameraDecoratorBase.h.
Referenced by osg::CameraDecoratorBase::copyFromBin(), osg::CameraDecoratorBase::copyToBin(), osg::CameraDecoratorBase::executeSyncImpl(), and osg::CameraDecoratorBase::getBinSize().
CameraPtr CameraDecoratorBase::_sfDecoratee [protected, inherited] |
The object being decorated
Definition at line 173 of file OSGCameraDecoratorBase.h.
Referenced by osg::CameraDecoratorBase::copyFromBin(), osg::CameraDecoratorBase::copyToBin(), osg::CameraDecoratorBase::executeSyncImpl(), osg::CameraDecoratorBase::getBinSize(), osg::CameraDecoratorBase::getDecoratee(), osg::CameraDecoratorBase::getSFDecoratee(), and osg::CameraDecoratorBase::setDecoratee().
const osg::BitVector CameraBase::BeaconFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << CameraBase::BeaconFieldId)
Definition at line 102 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBinSize(), and osg::CameraDecoratorBase::setBeacon().
const osg::BitVector CameraBase::NearFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << CameraBase::NearFieldId)
Definition at line 103 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBinSize(), and osg::CameraDecoratorBase::setNear().
const osg::BitVector CameraBase::FarFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << CameraBase::FarFieldId)
Definition at line 104 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBinSize(), and osg::CameraDecoratorBase::setFar().
NodePtr CameraBase::_sfBeacon [protected, inherited] |
The object that define's the camera's coordinate system. The camera is positioned at the origin of the system and looks doen the negative z-axis (OpenGL-style).
Definition at line 176 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBeacon(), osg::CameraBase::getBinSize(), osg::CameraBase::getSFBeacon(), and osg::CameraBase::setBeacon().
Real32 CameraBase::_sfNear [protected, inherited] |
The near distance of the camera.
Definition at line 177 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBinSize(), osg::CameraBase::getNear(), osg::CameraBase::getSFNear(), and osg::CameraBase::setNear().
Real32 CameraBase::_sfFar [protected, inherited] |
The far distance of the camera.
Definition at line 178 of file OSGCameraBase.h.
Referenced by osg::CameraBase::copyFromBin(), osg::CameraBase::copyToBin(), osg::CameraBase::executeSyncImpl(), osg::CameraBase::getBinSize(), osg::CameraBase::getFar(), osg::CameraBase::getSFFar(), and osg::CameraBase::setFar().
const BitVector AttachmentContainer::AttachmentsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One <<
AttachmentContainer::AttachmentsFieldId)
Definition at line 84 of file OSGAttachmentContainerImpl.h.
Referenced by osg::VRMLFile::beginNode(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::deepCloneAttachments(), osg::AttachmentContainer::executeSyncImpl(), osg::fcptrAttributeMap(), osg::AttachmentContainer::getBinSize(), and osg::stringAttributeMap().
SFAttachmentMap osg::AttachmentContainer::_attachmentMap [protected, inherited] |
Definition at line 161 of file OSGAttachmentContainerImpl.h.
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::NodeCore::dump(), osg::Node::dump(), osg::Geometry::dump(), osg::AttachmentContainer::dump(), osg::AttachmentContainer::executeSyncImpl(), osg::AttachmentContainer::findAttachment(), osg::AttachmentContainer::getBinSize(), osg::AttachmentContainer::getSFAttachments(), osg::Node::onCreate(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
const BitVector osg::FieldContainer::NextFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << NextFieldId)
Definition at line 75 of file OSGFieldContainerImpl.h.
const bool osg::FieldContainer::isNodeCore = false [static, inherited] |
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.5.5