#include <OSGOffCenterPerspectiveCamera.h>

Public Types | |
| enum | { PrincipalPointFieldId = Inherited::NextFieldId, NextFieldId = PrincipalPointFieldId + 1 } |
| typedef OffCenterPerspectiveCameraPtr | Ptr |
| enum | { FovFieldId = Inherited::NextFieldId, AspectFieldId = FovFieldId + 1, NextFieldId = AspectFieldId + 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 | |
transformation | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
your_category | |
| virtual void | draw (DrawAction *action, const Viewport &port) |
| virtual void | getProjection (Matrix &result, UInt32 width, UInt32 height) |
dump | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| SFVec2f * | getSFPrincipalPoint (void) |
| Get the OffCenterPerspectiveCamera::_sfPrincipalPoint field. | |
| Vec2f & | getPrincipalPoint (void) |
| Get the value of the OffCenterPerspectiveCamera::_sfPrincipalPoint field. | |
| const Vec2f & | getPrincipalPoint (void) const |
| Get the value of the OffCenterPerspectiveCamera::_sfPrincipalPoint field. | |
Field Set | |
| void | setPrincipalPoint (const Vec2f &value) |
| Set the value of the OffCenterPerspectiveCamera::_sfPrincipalPoint 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 | |
| SFReal32 * | getSFFov (void) |
| Get the PerspectiveCamera::_sfFov field. | |
| SFReal32 * | getSFAspect (void) |
| Get the PerspectiveCamera::_sfAspect field. | |
| Real32 & | getFov (void) |
| Get the value of the PerspectiveCamera::_sfFov field. | |
| const Real32 & | getFov (void) const |
| Get the value of the PerspectiveCamera::_sfFov field. | |
| Real32 & | getAspect (void) |
| Get the value of the PerspectiveCamera::_sfAspect field. | |
| const Real32 & | getAspect (void) const |
| Get the value of the PerspectiveCamera::_sfAspect field. | |
Field Set | |
| void | setFov (const Real32 &value) |
| Set the value of the PerspectiveCamera::_sfFov field. | |
| void | setAspect (const Real32 &value) |
| Set the value of the PerspectiveCamera::_sfAspect field. | |
Setup Rendering | |
| virtual void | setup (DrawActionBase *action, const Viewport &port) |
| virtual void | setupProjection (DrawActionBase *action, const Viewport &port) |
Access Parameters | |
| virtual void | getProjectionTranslation (Matrix &result, UInt32 width, UInt32 height) |
| virtual void | getViewing (Matrix &result, UInt32 width, UInt32 height) |
| 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) |
Field Get | |
| virtual SFNodePtr * | getSFBeacon (void) |
| virtual SFReal32 * | getSFNear (void) |
| virtual SFReal32 * | getSFFar (void) |
| virtual NodePtr & | getBeacon (void) |
| virtual const NodePtr & | getBeacon (void) const |
| virtual Real32 & | getNear (void) |
| virtual const Real32 & | getNear (void) const |
| virtual Real32 & | getFar (void) |
| virtual const Real32 & | getFar (void) const |
Field Set | |
| virtual void | setBeacon (const NodePtr &value) |
| virtual void | setNear (const Real32 &value) |
| virtual void | setFar (const Real32 &value) |
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 const char * | getClassname (void) |
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 OffCenterPerspectiveCameraPtr | create (void) |
| create a new instance of the class | |
| static OffCenterPerspectiveCameraPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | PrincipalPointFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const osg::BitVector | FovFieldMask |
| static const osg::BitVector | AspectFieldMask |
| 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 | |
| OffCenterPerspectiveCamera (void) | |
| OffCenterPerspectiveCamera (const OffCenterPerspectiveCamera &source) | |
Destructors | |
| virtual | ~OffCenterPerspectiveCamera (void) |
Sync | |
| void | executeSyncImpl (OffCenterPerspectiveCameraBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (PerspectiveCameraBase *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 | |
| SFVec2f | _sfPrincipalPoint |
Fields | |
| SFReal32 | _sfFov |
| SFReal32 | _sfAspect |
Fields | |
| SFNodePtr | _sfBeacon |
| SFReal32 | _sfNear |
| SFReal32 | _sfFar |
Fields | |
| SFAttachmentMap | _attachmentMap |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef OffCenterPerspectiveCameraBase | Inherited |
Private Member Functions | |
| void | operator= (const OffCenterPerspectiveCamera &source) |
| bool | MatrixPerspectivePrincipalPnt (Matrix &result, Real32 rFovy, Real32 rAspect, Real32 rNear, Real32 rFar, Real32 rPrincipalPointX, Real32 rPrincipalPointY) |
Static Private Member Functions | |
| static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | OffCenterPerspectiveCameraBase |
The only new parameter is the _sfPrincipalPoint field.
The OffCenter Perspective Camera provides a more general camera than the Perspective Camera. The viewing frustrum is by default the same as given by the Perspective Camera. Iff principal points params are unequal zero the viewing frustrums parameters (left,right,top,bottom) are simple shifted in the camera's image plane. The principal point parameters are relative to left--right (or respectively bottom--top). A value of x=2 means the left value is equal to default right value. A value of x=-2 means the right value is equal to default left value. Marginal note: Iff the principal point is unequal zero the field of view value is unequal to the real field of view of the camera. (mail to: dherzog (at) mip.informatik.uni-kiel.de)
Definition at line 59 of file OSGOffCenterPerspectiveCamera.h.
typedef OffCenterPerspectiveCameraBase osg::OffCenterPerspectiveCamera::Inherited [private] |
Reimplemented from osg::OffCenterPerspectiveCameraBase.
Definition at line 117 of file OSGOffCenterPerspectiveCamera.h.
typedef OffCenterPerspectiveCameraPtr osg::OffCenterPerspectiveCameraBase::Ptr [inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 90 of file OSGOffCenterPerspectiveCameraBase.h.
anonymous enum [inherited] |
Definition at line 92 of file OSGOffCenterPerspectiveCameraBase.h.
00093 { 00094 PrincipalPointFieldId = Inherited::NextFieldId, 00095 NextFieldId = PrincipalPointFieldId + 1 00096 };
anonymous enum [inherited] |
Definition at line 93 of file OSGPerspectiveCameraBase.h.
00094 { 00095 FovFieldId = Inherited::NextFieldId, 00096 AspectFieldId = FovFieldId + 1, 00097 NextFieldId = AspectFieldId + 1 00098 };
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] |
| OffCenterPerspectiveCamera::OffCenterPerspectiveCamera | ( | void | ) | [protected] |
Definition at line 117 of file OSGOffCenterPerspectiveCamera.cpp.
00117 : 00118 Inherited() 00119 { 00120 }
| OffCenterPerspectiveCamera::OffCenterPerspectiveCamera | ( | const OffCenterPerspectiveCamera & | source | ) | [protected] |
Definition at line 123 of file OSGOffCenterPerspectiveCamera.cpp.
00123 : 00124 Inherited(source) 00125 { 00126 }
| OffCenterPerspectiveCamera::~OffCenterPerspectiveCamera | ( | void | ) | [protected, virtual] |
| static const char* osg::OffCenterPerspectiveCamera::getClassname | ( | void | ) | [inline, static] |
Reimplemented from osg::PerspectiveCamera.
Definition at line 68 of file OSGOffCenterPerspectiveCamera.h.
Reimplemented from osg::PerspectiveCamera.
Definition at line 132 of file OSGOffCenterPerspectiveCamera.cpp.
References osg::PerspectiveCamera::changed().
00133 { 00134 Inherited::changed(whichField, origin); 00135 }
| void OffCenterPerspectiveCamera::draw | ( | DrawAction * | action, | |
| const Viewport & | port | |||
| ) | [virtual] |
Reimplemented from osg::PerspectiveCamera.
Definition at line 139 of file OSGOffCenterPerspectiveCamera.cpp.
| void OffCenterPerspectiveCamera::getProjection | ( | Matrix & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual] |
Reimplemented from osg::PerspectiveCamera.
Definition at line 201 of file OSGOffCenterPerspectiveCamera.cpp.
References osg::PerspectiveCameraBase::getAspect(), osg::CameraBase::getFar(), osg::PerspectiveCameraBase::getFov(), osg::CameraBase::getNear(), osg::OffCenterPerspectiveCameraBase::getPrincipalPoint(), osg::MatrixPerspective(), MatrixPerspectivePrincipalPnt(), osg::osgdegree2rad(), osg::Pi, and osg::TransformationMatrix< ValueTypeT >::setIdentity().
00203 { 00204 Real32 fov = getFov(); 00205 00206 // catch some illegal cases 00207 if(fov < 0 || width == 0 || height == 0) 00208 { 00209 result.setIdentity(); 00210 return; 00211 } 00212 00213 // try to be nice to people giving degrees... 00214 if(fov > Pi) 00215 fov = osgdegree2rad(fov); 00216 00217 Real32 principalPointX = getPrincipalPoint()[0]; 00218 Real32 principalPointY = getPrincipalPoint()[1]; 00219 00220 // if principal point (x,y) is default (==(0,0)) everything works 00221 // like before or rather for an symmetical camera 00222 if ( principalPointX==Real32(0) && principalPointY==Real32(0) ) { 00223 MatrixPerspective(result, fov / 2, 00224 width /(Real32) height * getAspect(), 00225 getNear(), getFar()); 00226 } 00227 else { 00228 MatrixPerspectivePrincipalPnt(result, fov / 2, 00229 width /(Real32) height * getAspect(), 00230 getNear(), getFar(), 00231 principalPointX, principalPointY); 00232 } 00233 }
| void OffCenterPerspectiveCamera::dump | ( | UInt32 | uiIndent = 0, |
|
| const BitVector | bvFlags = 0 | |||
| ) | const [virtual] |
Reimplemented from osg::PerspectiveCamera.
Definition at line 238 of file OSGOffCenterPerspectiveCamera.cpp.
References SLOG.
00240 { 00241 SLOG << "Dump OffCenterPerspectiveCamera NI" << std::endl; 00242 }
| void OffCenterPerspectiveCamera::initMethod | ( | void | ) | [static, private] |
Reimplemented from osg::PerspectiveCamera.
Definition at line 102 of file OSGOffCenterPerspectiveCamera.cpp.
| void osg::OffCenterPerspectiveCamera::operator= | ( | const OffCenterPerspectiveCamera & | source | ) | [private] |
| bool OffCenterPerspectiveCamera::MatrixPerspectivePrincipalPnt | ( | Matrix & | result, | |
| Real32 | rFovy, | |||
| Real32 | rAspect, | |||
| Real32 | rNear, | |||
| Real32 | rFar, | |||
| Real32 | rPrincipalPointX, | |||
| Real32 | rPrincipalPointY | |||
| ) | [private] |
Definition at line 145 of file OSGOffCenterPerspectiveCamera.cpp.
References osg::Eps, osg::MatrixFrustum(), osg::osgabs(), osg::osgtan(), osg::TransformationMatrix< ValueTypeT >::setIdentity(), and SWARNING.
Referenced by getProjection().
00152 { 00153 Real32 ct = osgtan(rFovy); 00154 bool error = false; 00155 00156 if(rNear > rFar) 00157 { 00158 SWARNING << "MatrixPerspective: near " << rNear << " > far " << rFar 00159 << "!\n" << std::endl; 00160 error = true; 00161 } 00162 00163 if(rFovy <= Eps) 00164 { 00165 SWARNING << "MatrixPerspective: fovy " << rFovy << " very small!\n" 00166 << std::endl; 00167 error = true; 00168 } 00169 00170 if(osgabs(rNear - rFar) < Eps) 00171 { 00172 SWARNING << "MatrixPerspective: near " << rNear << " ~= far " << rFar 00173 << "!\n" << std::endl; 00174 error = true; 00175 } 00176 00177 if(rAspect < Eps) 00178 { 00179 SWARNING << "MatrixPerspective: aspect ratio " << rAspect 00180 << " very small!\n" << std::endl; 00181 error = true; 00182 } 00183 00184 if(error) 00185 { 00186 result.setIdentity(); 00187 return true; 00188 } 00189 00190 MatrixFrustum( result, 00191 -rNear * ct * rAspect * (Real32(1)+rPrincipalPointX), 00192 rNear * ct * rAspect * (Real32(1)-rPrincipalPointX), 00193 -rNear * ct * (Real32(1)+rPrincipalPointY), 00194 rNear * ct * (Real32(1)-rPrincipalPointY), 00195 rNear, 00196 rFar ); 00197 00198 return false; 00199 }
| osg::FieldContainerType & osg::OffCenterPerspectiveCameraBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 58 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_type.
Referenced by osg::OffCenterPerspectiveCameraBase::create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::OffCenterPerspectiveCameraBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 65 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & OffCenterPerspectiveCameraBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 106 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_type.
00107 { 00108 return _type; 00109 }
| const FieldContainerType & OffCenterPerspectiveCameraBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 111 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_type.
00112 { 00113 return _type; 00114 }
| UInt32 OffCenterPerspectiveCameraBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 126 of file OSGOffCenterPerspectiveCameraBase.cpp.
00127 { 00128 return sizeof(OffCenterPerspectiveCamera); 00129 }
| SFVec2f * osg::OffCenterPerspectiveCameraBase::getSFPrincipalPoint | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint.
00102 { 00103 return &_sfPrincipalPoint; 00104 }
| Vec2f & osg::OffCenterPerspectiveCameraBase::getPrincipalPoint | ( | void | ) | [inline, inherited] |
Definition at line 109 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by getProjection().
00110 { 00111 return _sfPrincipalPoint.getValue(); 00112 }
| const Vec2f & osg::OffCenterPerspectiveCameraBase::getPrincipalPoint | ( | void | ) | const [inline, inherited] |
Definition at line 116 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00117 { 00118 return _sfPrincipalPoint.getValue(); 00119 }
| void osg::OffCenterPerspectiveCameraBase::setPrincipalPoint | ( | const Vec2f & | value | ) | [inline, inherited] |
Definition at line 123 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00124 { 00125 _sfPrincipalPoint.setValue(value); 00126 }
| UInt32 OffCenterPerspectiveCameraBase::getBinSize | ( | const BitVector & | whichField | ) | [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 188 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::PerspectiveCameraBase::getBinSize(), osg::FieldBits::NoField, and osg::OffCenterPerspectiveCameraBase::PrincipalPointFieldMask.
00189 { 00190 UInt32 returnValue = Inherited::getBinSize(whichField); 00191 00192 if(FieldBits::NoField != (PrincipalPointFieldMask & whichField)) 00193 { 00194 returnValue += _sfPrincipalPoint.getBinSize(); 00195 } 00196 00197 00198 return returnValue; 00199 }
| void OffCenterPerspectiveCameraBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 201 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::PerspectiveCameraBase::copyToBin(), osg::FieldBits::NoField, and osg::OffCenterPerspectiveCameraBase::PrincipalPointFieldMask.
00203 { 00204 Inherited::copyToBin(pMem, whichField); 00205 00206 if(FieldBits::NoField != (PrincipalPointFieldMask & whichField)) 00207 { 00208 _sfPrincipalPoint.copyToBin(pMem); 00209 } 00210 00211 00212 }
| void OffCenterPerspectiveCameraBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 214 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::PerspectiveCameraBase::copyFromBin(), osg::FieldBits::NoField, and osg::OffCenterPerspectiveCameraBase::PrincipalPointFieldMask.
00216 { 00217 Inherited::copyFromBin(pMem, whichField); 00218 00219 if(FieldBits::NoField != (PrincipalPointFieldMask & whichField)) 00220 { 00221 _sfPrincipalPoint.copyFromBin(pMem); 00222 } 00223 00224 00225 }
| OffCenterPerspectiveCameraPtr osg::OffCenterPerspectiveCameraBase::create | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 72 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::AttachmentContainerPtr::dcast(), osg::OffCenterPerspectiveCameraBase::getClassType(), osg::NullFC, and osg::OffCenterPerspectiveCameraBase::shallowCopy().
00073 { 00074 OffCenterPerspectiveCameraPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = OffCenterPerspectiveCameraPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| OffCenterPerspectiveCameraPtr osg::OffCenterPerspectiveCameraBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 87 of file OSGOffCenterPerspectiveCameraBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 OffCenterPerspectiveCameraPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr OffCenterPerspectiveCameraBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 117 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::OffCenterPerspectiveCameraBase::create().
00118 { 00119 OffCenterPerspectiveCameraPtr returnValue; 00120 00121 newPtr(returnValue, dynamic_cast<const OffCenterPerspectiveCamera *>(this)); 00122 00123 return returnValue; 00124 }
| void OffCenterPerspectiveCameraBase::executeSyncImpl | ( | OffCenterPerspectiveCameraBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 228 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::_sfPrincipalPoint, osg::PerspectiveCameraBase::executeSyncImpl(), osg::FieldBits::NoField, osg::OffCenterPerspectiveCameraBase::PrincipalPointFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::OffCenterPerspectiveCameraBase::executeSync().
00230 { 00231 00232 Inherited::executeSyncImpl(pOther, whichField); 00233 00234 if(FieldBits::NoField != (PrincipalPointFieldMask & whichField)) 00235 _sfPrincipalPoint.syncWith(pOther->_sfPrincipalPoint); 00236 00237 00238 }
| void PerspectiveCameraBase::executeSyncImpl | ( | PerspectiveCameraBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 256 of file OSGPerspectiveCameraBase.cpp.
References osg::PerspectiveCameraBase::_sfAspect, osg::PerspectiveCameraBase::_sfFov, osg::PerspectiveCameraBase::AspectFieldMask, osg::CameraBase::executeSyncImpl(), osg::PerspectiveCameraBase::FovFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::PerspectiveCameraBase::executeSync(), and osg::OffCenterPerspectiveCameraBase::executeSyncImpl().
00258 { 00259 00260 Inherited::executeSyncImpl(pOther, whichField); 00261 00262 if(FieldBits::NoField != (FovFieldMask & whichField)) 00263 _sfFov.syncWith(pOther->_sfFov); 00264 00265 if(FieldBits::NoField != (AspectFieldMask & whichField)) 00266 _sfAspect.syncWith(pOther->_sfAspect); 00267 00268 00269 }
| 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 OffCenterPerspectiveCameraBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 133 of file OSGOffCenterPerspectiveCameraBase.cpp.
References osg::OffCenterPerspectiveCameraBase::executeSyncImpl().
00135 { 00136 this->executeSyncImpl((OffCenterPerspectiveCameraBase *) &other, whichField); 00137 }
| SFReal32 * osg::PerspectiveCameraBase::getSFFov | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfFov.
00102 { 00103 return &_sfFov; 00104 }
| SFReal32 * osg::PerspectiveCameraBase::getSFAspect | ( | void | ) | [inline, inherited] |
Definition at line 108 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfAspect.
00109 { 00110 return &_sfAspect; 00111 }
| Real32 & osg::PerspectiveCameraBase::getFov | ( | void | ) | [inline, inherited] |
Definition at line 116 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::PerspectiveCamera::getProjection(), and getProjection().
00117 { 00118 return _sfFov.getValue(); 00119 }
| const Real32 & osg::PerspectiveCameraBase::getFov | ( | void | ) | const [inline, inherited] |
Definition at line 123 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00124 { 00125 return _sfFov.getValue(); 00126 }
| Real32 & osg::PerspectiveCameraBase::getAspect | ( | void | ) | [inline, inherited] |
Definition at line 137 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::PerspectiveCamera::getProjection(), and getProjection().
00138 { 00139 return _sfAspect.getValue(); 00140 }
| const Real32 & osg::PerspectiveCameraBase::getAspect | ( | void | ) | const [inline, inherited] |
Definition at line 144 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00145 { 00146 return _sfAspect.getValue(); 00147 }
| void osg::PerspectiveCameraBase::setFov | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 130 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::PerspectiveCameraBase::setAspect | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 151 of file OSGPerspectiveCameraBase.inl.
References osg::PerspectiveCameraBase::_sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| 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::getProjectionTranslation | ( | Matrix & | result, | |
| UInt32 | width, | |||
| UInt32 | height | |||
| ) | [virtual, inherited] |
Get/calculate the projection translation matrix for this camera. The default is identity.
Reimplemented in osg::CameraDecorator, osg::MatrixCameraDecorator, and osg::ProjectionCameraDecorator.
Definition at line 176 of file OSGCamera.cpp.
References osg::TransformationMatrix< ValueTypeT >::setIdentity().
Referenced by osg::Camera::calcViewRay(), osg::SkyBackground::clear(), osg::DVRIsoShader::getCoveredScreenRect(), osg::Camera::getFrustum(), osg::Camera::getWorldToScreen(), osg::Camera::setup(), and osg::Camera::setupProjection().
00179 { 00180 result.setIdentity(); 00181 }
Get/calculate the viewing matrix for this camera. This is the inverse of the beacon's toWorld transformation.
Reimplemented in osg::CameraDecorator, osg::MatrixCamera, osg::MatrixCameraDecorator, and osg::ProjectionCameraDecorator.
Definition at line 186 of file OSGCamera.cpp.
References osg::CameraBase::getBeacon(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::NullFC, and SWARNING.
Referenced by osg::TextureTransformChunk::activate(), osg::TexGenChunk::activate(), osg::Camera::calcViewRay(), osg::TextureTransformChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::SkyBackground::clear(), osg::Camera::getFrustum(), osg::Camera::getWorldToScreen(), osg::Camera::setup(), osg::RenderAction::start(), osg::DrawActionBase::start(), osg::RenderAction::stop(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateInvViewMatrix(), and osg::SHLChunk::updateViewMatrix().
00189 { 00190 if (getBeacon() == NullFC) 00191 { 00192 SWARNING << "Camera::setup: no beacon!" << std::endl; 00193 return; 00194 } 00195 00196 getBeacon()->getToWorld(result); 00197 result.invert(); 00198 }
| 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 }
| SFNodePtr * CameraBase::getSFBeacon | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 325 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfBeacon.
00326 { 00327 return &_sfBeacon; 00328 }
| SFReal32 * CameraBase::getSFNear | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 331 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfNear.
00332 { 00333 return &_sfNear; 00334 }
| SFReal32 * CameraBase::getSFFar | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 337 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfFar.
00338 { 00339 return &_sfFar; 00340 }
| NodePtr & CameraBase::getBeacon | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 344 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfBeacon, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by drawViewerObjects< posTrait, colTrait, sizeTrait, geoTrait >::draw(), drawViewerObjects< posTrait, colTrait, sizeTrait, geoTrait >::drawIndexed(), and osg::Camera::getViewing().
| const NodePtr & CameraBase::getBeacon | ( | void | ) | const [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 350 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfBeacon, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
| Real32 & CameraBase::getNear | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 362 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfNear, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::PerspectiveCamera::getProjection(), osg::OrthographicCamera::getProjection(), and getProjection().
| const Real32 & CameraBase::getNear | ( | void | ) | const [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 368 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfNear, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
| Real32 & CameraBase::getFar | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 380 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfFar, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::PerspectiveCamera::getProjection(), osg::OrthographicCamera::getProjection(), and getProjection().
| const Real32 & CameraBase::getFar | ( | void | ) | const [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 386 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfFar, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
| void CameraBase::setBeacon | ( | const NodePtr & | value | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 356 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfBeacon, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void CameraBase::setNear | ( | const Real32 & | value | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 374 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfNear, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void CameraBase::setFar | ( | const Real32 & | value | ) | [virtual, inherited] |
Reimplemented in osg::CameraDecoratorBase.
Definition at line 392 of file OSGCameraBase.cpp.
References osg::CameraBase::_sfFar, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| 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::OffCenterPerspectiveCameraBase.
Definition at line 119 of file OSGOffCenterPerspectiveCamera.h.
friend class OffCenterPerspectiveCameraBase [friend] |
Definition at line 120 of file OSGOffCenterPerspectiveCamera.h.
const osg::BitVector OffCenterPerspectiveCameraBase::PrincipalPointFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << OffCenterPerspectiveCameraBase::PrincipalPointFieldId)
Definition at line 98 of file OSGOffCenterPerspectiveCameraBase.h.
Referenced by osg::OffCenterPerspectiveCameraBase::copyFromBin(), osg::OffCenterPerspectiveCameraBase::copyToBin(), osg::OffCenterPerspectiveCameraBase::executeSyncImpl(), and osg::OffCenterPerspectiveCameraBase::getBinSize().
const osg::BitVector OffCenterPerspectiveCameraBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::PerspectiveCameraBase.
Definition at line 101 of file OSGOffCenterPerspectiveCameraBase.h.
Vec2f OffCenterPerspectiveCameraBase::_sfPrincipalPoint [protected, inherited] |
The relative position of the principal point.
Definition at line 178 of file OSGOffCenterPerspectiveCameraBase.h.
Referenced by osg::OffCenterPerspectiveCameraBase::copyFromBin(), osg::OffCenterPerspectiveCameraBase::copyToBin(), osg::OffCenterPerspectiveCameraBase::executeSyncImpl(), osg::OffCenterPerspectiveCameraBase::getBinSize(), osg::OffCenterPerspectiveCameraBase::getPrincipalPoint(), osg::OffCenterPerspectiveCameraBase::getSFPrincipalPoint(), and osg::OffCenterPerspectiveCameraBase::setPrincipalPoint().
const osg::BitVector PerspectiveCameraBase::FovFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << PerspectiveCameraBase::FovFieldId)
Definition at line 100 of file OSGPerspectiveCameraBase.h.
Referenced by osg::PerspectiveCameraBase::copyFromBin(), osg::PerspectiveCameraBase::copyToBin(), osg::PerspectiveCameraBase::executeSyncImpl(), and osg::PerspectiveCameraBase::getBinSize().
const osg::BitVector PerspectiveCameraBase::AspectFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << PerspectiveCameraBase::AspectFieldId)
Definition at line 101 of file OSGPerspectiveCameraBase.h.
Referenced by osg::PerspectiveCameraBase::copyFromBin(), osg::PerspectiveCameraBase::copyToBin(), osg::PerspectiveCameraBase::executeSyncImpl(), and osg::PerspectiveCameraBase::getBinSize().
Real32 PerspectiveCameraBase::_sfFov [protected, inherited] |
The vertical field of view, in radians.
Definition at line 185 of file OSGPerspectiveCameraBase.h.
Referenced by osg::PerspectiveCameraBase::copyFromBin(), osg::PerspectiveCameraBase::copyToBin(), osg::PerspectiveCameraBase::executeSyncImpl(), osg::PerspectiveCameraBase::getBinSize(), osg::PerspectiveCameraBase::getFov(), osg::PerspectiveCameraBase::getSFFov(), and osg::PerspectiveCameraBase::setFov().
Real32 PerspectiveCameraBase::_sfAspect [protected, inherited] |
The aspect ratio (i.e. width / height) of a pixel.
Definition at line 186 of file OSGPerspectiveCameraBase.h.
Referenced by osg::PerspectiveCameraBase::copyFromBin(), osg::PerspectiveCameraBase::copyToBin(), osg::PerspectiveCameraBase::executeSyncImpl(), osg::PerspectiveCameraBase::getAspect(), osg::PerspectiveCameraBase::getBinSize(), osg::PerspectiveCameraBase::getSFAspect(), and osg::PerspectiveCameraBase::setAspect().
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