#include <OSGDistanceLODBase.h>
Inheritance diagram for osg::DistanceLODBase:

Public Types | |
| typedef DistanceLODPtr | Ptr |
| enum | { CenterFieldId = Inherited::NextFieldId, RangeFieldId = CenterFieldId + 1, NextFieldId = RangeFieldId + 1 } |
Public Member Functions | |
FieldContainer Get | |
| *virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| *SFPnt3f * | getSFCenter (void) |
| Get the DistanceLOD::_sfCenter field. | |
| MFReal32 * | getMFRange (void) |
| Get the DistanceLOD::_mfRange field. | |
| Pnt3f & | getCenter (void) |
| Get the value of the DistanceLOD::_sfCenter field. | |
| const Pnt3f & | getCenter (void) const |
| Get the value of the DistanceLOD::_sfCenter field. | |
| Real32 & | getRange (const UInt32 index) |
| Get the value of the index element the DistanceLOD::_mfRange field. | |
| MFReal32 & | getRange (void) |
| Get the DistanceLOD::_mfRange field. | |
| const MFReal32 & | getRange (void) const |
| Get the DistanceLOD::_mfRange field. | |
Field Set | |
| *void | setCenter (const Pnt3f &value) |
| Set the value of the DistanceLOD::_sfCenter 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 |
Sync | |
| *virtual void | changed (BitVector whichField, UInt32 origin) |
Dump | |
| *virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
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 DistanceLODPtr | create (void) |
| create a new instance of the class | |
| static DistanceLODPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Static Public Attributes | |
| static const osg::BitVector | CenterFieldMask |
| static const osg::BitVector | RangeFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | ParentsFieldMask = (1 << NodeCore::ParentsFieldId ) |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
Protected Member Functions | |
Constructors | |
| * | DistanceLODBase (void) |
| DistanceLODBase (const DistanceLODBase &source) | |
Destructors | |
| *virtual | ~DistanceLODBase (void) |
Sync | |
| *void | executeSyncImpl (DistanceLODBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Action Callbacks | |
| *Action::ResultE | drawEnter (Action *action) |
| Action::ResultE | drawLeave (Action *action) |
| Action::ResultE | renderEnter (Action *action) |
| Action::ResultE | renderLeave (Action *action) |
| Action::ResultE | intersect (Action *action) |
Sync | |
| *void | executeSyncImpl (GroupBase *pOther, const BitVector &whichField) |
Protected Attributes | |
Fields | |
| *SFPnt3f | _sfCenter |
| MFReal32 | _mfRange |
Private Types | |
| typedef Group | Inherited |
Private Member Functions | |
| void | operator= (const DistanceLODBase &source) |
Static Private Attributes | |
| static FieldDescription * | _desc [] |
| DistanceLOD description. | |
| static FieldContainerType | _type |
Friends | |
| class | FieldContainer |
Definition at line 82 of file OSGDistanceLODBase.h.
|
|
Reimplemented from osg::Group. Reimplemented in osg::DistanceLOD. Definition at line 86 of file OSGDistanceLODBase.h. |
|
|
Reimplemented from osg::GroupBase. Definition at line 91 of file OSGDistanceLODBase.h. |
|
|
Reimplemented from osg::NodeCore. Definition at line 93 of file OSGDistanceLODBase.h. 00094 { 00095 CenterFieldId = Inherited::NextFieldId, 00096 RangeFieldId = CenterFieldId + 1, 00097 NextFieldId = RangeFieldId + 1 00098 };
|
|
|
Definition at line 176 of file OSGDistanceLODBase.cpp.
|
|
|
Definition at line 187 of file OSGDistanceLODBase.cpp. 00187 : 00188 _sfCenter (source._sfCenter ), 00189 _mfRange (source._mfRange ), 00190 Inherited (source) 00191 { 00192 }
|
|
|
Definition at line 196 of file OSGDistanceLODBase.cpp.
|
|
|
Reimplemented from osg::GroupBase. Definition at line 58 of file OSGDistanceLODBase.inl. References _type. Referenced by create(), osg::DistanceLOD::initMethod(), osg::SplitGraphOp::isGroup(), and osg::MergeGraphOp::isGroup(). 00059 { 00060 return _type; 00061 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 65 of file OSGDistanceLODBase.inl. References _type, and osg::TypeBase::getId(). 00066 { 00067 return _type.getId(); 00068 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 117 of file OSGDistanceLODBase.cpp. References _type. 00118 { 00119 return _type; 00120 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 122 of file OSGDistanceLODBase.cpp. References _type. 00123 { 00124 return _type; 00125 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 137 of file OSGDistanceLODBase.cpp. 00138 { 00139 return sizeof(DistanceLOD); 00140 }
|
|
|
Definition at line 101 of file OSGDistanceLODBase.inl. References _sfCenter. 00102 { 00103 return &_sfCenter; 00104 }
|
|
|
Definition at line 108 of file OSGDistanceLODBase.inl. References _mfRange. Referenced by osg::DistanceLOD::draw(). 00109 { 00110 return &_mfRange; 00111 }
|
|
|
Definition at line 116 of file OSGDistanceLODBase.inl. References _sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). Referenced by osg::DistanceLOD::draw(). 00117 { 00118 return _sfCenter.getValue(); 00119 }
|
|
|
Definition at line 123 of file OSGDistanceLODBase.inl. References _sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00124 { 00125 return _sfCenter.getValue(); 00126 }
|
|
|
Definition at line 138 of file OSGDistanceLODBase.inl. References _mfRange. 00139 { 00140 return _mfRange[index]; 00141 }
|
|
|
Definition at line 145 of file OSGDistanceLODBase.inl. References _mfRange. 00146 { 00147 return _mfRange; 00148 }
|
|
|
Definition at line 152 of file OSGDistanceLODBase.inl. References _mfRange. 00153 { 00154 return _mfRange; 00155 }
|
|
|
Definition at line 130 of file OSGDistanceLODBase.inl. References _sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
|
|
|
Reimplemented from osg::GroupBase. Definition at line 202 of file OSGDistanceLODBase.cpp. References _mfRange, _sfCenter, CenterFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::GroupBase::getBinSize(), osg::FieldBits::NoField, and RangeFieldMask. 00203 { 00204 UInt32 returnValue = Inherited::getBinSize(whichField); 00205 00206 if(FieldBits::NoField != (CenterFieldMask & whichField)) 00207 { 00208 returnValue += _sfCenter.getBinSize(); 00209 } 00210 00211 if(FieldBits::NoField != (RangeFieldMask & whichField)) 00212 { 00213 returnValue += _mfRange.getBinSize(); 00214 } 00215 00216 00217 return returnValue; 00218 }
|
|
||||||||||||
|
Reimplemented from osg::GroupBase. Definition at line 220 of file OSGDistanceLODBase.cpp. References _mfRange, _sfCenter, CenterFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::GroupBase::copyToBin(), osg::FieldBits::NoField, and RangeFieldMask. 00222 { 00223 Inherited::copyToBin(pMem, whichField); 00224 00225 if(FieldBits::NoField != (CenterFieldMask & whichField)) 00226 { 00227 _sfCenter.copyToBin(pMem); 00228 } 00229 00230 if(FieldBits::NoField != (RangeFieldMask & whichField)) 00231 { 00232 _mfRange.copyToBin(pMem); 00233 } 00234 00235 00236 }
|
|
||||||||||||
|
Reimplemented from osg::GroupBase. Definition at line 238 of file OSGDistanceLODBase.cpp. References _mfRange, _sfCenter, CenterFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::GroupBase::copyFromBin(), osg::FieldBits::NoField, and RangeFieldMask. 00240 { 00241 Inherited::copyFromBin(pMem, whichField); 00242 00243 if(FieldBits::NoField != (CenterFieldMask & whichField)) 00244 { 00245 _sfCenter.copyFromBin(pMem); 00246 } 00247 00248 if(FieldBits::NoField != (RangeFieldMask & whichField)) 00249 { 00250 _mfRange.copyFromBin(pMem); 00251 } 00252 00253 00254 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 72 of file OSGDistanceLODBase.inl. References osg::AttachmentContainerPtr::dcast(), getClassType(), osg::FieldContainerType::getPrototype(), osg::NullFC, and shallowCopy(). Referenced by osg::VRMLLODDesc::init(). 00073 { 00074 DistanceLODPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = DistanceLODPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 87 of file OSGDistanceLODBase.inl. References osg::FieldContainer::newPtr(). 00088 { 00089 DistanceLODPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
|
|
|
Reimplemented from osg::GroupBase. Definition at line 128 of file OSGDistanceLODBase.cpp. References osg::FieldContainer::newPtr(). Referenced by create(). 00129 { 00130 DistanceLODPtr returnValue; 00131 00132 newPtr(returnValue, dynamic_cast<const DistanceLOD *>(this)); 00133 00134 return returnValue; 00135 }
|
|
||||||||||||
|
Definition at line 257 of file OSGDistanceLODBase.cpp. References _mfRange, _sfCenter, CenterFieldMask, osg::GroupBase::executeSyncImpl(), osg::FieldBits::NoField, RangeFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::SField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by executeSync(). 00259 { 00260 00261 Inherited::executeSyncImpl(pOther, whichField); 00262 00263 if(FieldBits::NoField != (CenterFieldMask & whichField)) 00264 _sfCenter.syncWith(pOther->_sfCenter); 00265 00266 if(FieldBits::NoField != (RangeFieldMask & whichField)) 00267 _mfRange.syncWith(pOther->_mfRange); 00268 00269 00270 }
|
|
||||||||||||
|
Reimplemented from osg::GroupBase. Definition at line 144 of file OSGDistanceLODBase.cpp. References executeSyncImpl(). 00146 { 00147 this->executeSyncImpl((DistanceLODBase *) &other, whichField); 00148 }
|
|
|
|
|
||||||||||||
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::Billboard, osg::ComponentTransform, osg::DistanceLOD, osg::InverseTransform, osg::MaterialGroup, osg::MaterialPool, osg::ProxyGroup, osg::Switch, and osg::Transform. Definition at line 63 of file OSGGroup.cpp. References osg::AttachmentContainer::changed(). Referenced by osg::Transform::changed(), osg::Switch::changed(), osg::ProxyGroup::changed(), osg::MaterialPool::changed(), osg::MaterialGroup::changed(), osg::InverseTransform::changed(), osg::DistanceLOD::changed(), and osg::Billboard::changed(). 00064 { 00065 Inherited::changed(whichField, origin); 00066 }
|
|
||||||||||||
|
Reimplemented from osg::NodeCore. Reimplemented in osg::Billboard, osg::ComponentTransform, osg::DistanceLOD, osg::InverseTransform, osg::MaterialGroup, osg::MaterialPool, osg::ProxyGroup, osg::Switch, and osg::Transform. Definition at line 71 of file OSGGroup.cpp. References osg::NodeCore::dump(). Referenced by osg::Transform::dump(), osg::MaterialPool::dump(), osg::MaterialGroup::dump(), osg::InverseTransform::dump(), and osg::Billboard::dump(). 00073 { 00074 Inherited::dump(uiIndent, bvFlags); 00075 }
|
|
|
Reimplemented in osg::Billboard, osg::InverseTransform, osg::MaterialGroup, and osg::Transform. Definition at line 100 of file OSGGroup.cpp. References osg::Action::Continue, osg::DrawActionBase::selectVisibles(), and osg::Action::Skip. Referenced by osg::Group::initMethod(). 00101 { 00102 DrawActionBase *da = dynamic_cast<DrawActionBase *>(action); 00103 00104 if(da->selectVisibles() == 0) 00105 return Action::Skip; 00106 00107 return Action::Continue; 00108 }
|
|
|
Reimplemented in osg::Billboard, osg::InverseTransform, osg::MaterialGroup, and osg::Transform. Definition at line 110 of file OSGGroup.cpp. References osg::Action::Continue. Referenced by osg::Group::initMethod(). 00111 { 00112 return Action::Continue; 00113 }
|
|
|
Reimplemented in osg::Billboard, osg::InverseTransform, osg::MaterialGroup, and osg::Transform. Definition at line 118 of file OSGGroup.cpp. References osg::Action::Continue, and osg::RenderAction::pushVisibility(). Referenced by osg::Group::initMethod(), and osg::MaterialGroup::renderEnter(). 00119 { 00120 RenderAction *ra = dynamic_cast<RenderAction *>(action); 00121 00122 ra->pushVisibility(); 00123 00124 return Action::Continue; 00125 }
|
|
|
Reimplemented in osg::Billboard, osg::InverseTransform, osg::MaterialGroup, and osg::Transform. Definition at line 127 of file OSGGroup.cpp. References osg::Action::Continue, and osg::RenderAction::popVisibility(). Referenced by osg::Group::initMethod(), and osg::MaterialGroup::renderLeave(). 00128 { 00129 RenderAction *ra = dynamic_cast<RenderAction *>(action); 00130 00131 ra->popVisibility(); 00132 00133 return Action::Continue; 00134 }
|
|
|
Reimplemented in osg::Switch. Definition at line 139 of file OSGGroup.cpp. References osg::Action::Continue, osg::Action::getActNode(), osg::IntersectAction::getLine(), osg::DynamicVolume::intersect(), osg::Volume::isValid(), and osg::Action::Skip. Referenced by osg::Group::initMethod(). 00140 { 00141 IntersectAction *ia = dynamic_cast<IntersectAction *>(action); 00142 const DynamicVolume &dv = ia->getActNode()->getVolume(); 00143 00144 if(dv.isValid() && ! dv.intersect(ia->getLine())) 00145 { 00146 return Action::Skip; //bv missed -> can not hit children 00147 } 00148 00149 return Action::Continue; 00150 }
|
|
||||||||||||
|
Definition at line 191 of file OSGGroupBase.cpp. References osg::NodeCore::executeSyncImpl(). Referenced by osg::GroupBase::executeSync(), osg::TransformBase::executeSyncImpl(), osg::SwitchBase::executeSyncImpl(), osg::ProxyGroupBase::executeSyncImpl(), osg::MaterialPoolBase::executeSyncImpl(), osg::MaterialGroupBase::executeSyncImpl(), osg::InverseTransformBase::executeSyncImpl(), executeSyncImpl(), and osg::BillboardBase::executeSyncImpl(). 00193 { 00194 00195 Inherited::executeSyncImpl(pOther, whichField); 00196 00197 00198 }
|
|
||||||||||||
|
Definition at line 180 of file OSGNodeCore.inl. References osg::NodeCore::_parents, osg::AttachmentContainer::executeSyncImpl(), osg::FieldBits::NoField, osg::NodeCore::ParentsFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by osg::NodeCore::executeSync(), osg::StateSortingGroupBase::executeSyncImpl(), osg::LightEnvBase::executeSyncImpl(), osg::LightBase::executeSyncImpl(), osg::InlineBase::executeSyncImpl(), osg::GroupBase::executeSyncImpl(), osg::DVRVolumeBase::executeSyncImpl(), and osg::DrawableBase::executeSyncImpl(). 00182 { 00183 Inherited::executeSyncImpl(pOther, whichField); 00184 00185 if(FieldBits::NoField != (ParentsFieldMask & whichField)) 00186 { 00187 _parents.syncWith(pOther->_parents); 00188 } 00189 }
|
|
||||||||||||
|
||||||||||||
|
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().
|
|
|
Definition at line 56 of file OSGNodeCore.inl. Referenced by osg::Surface::FindClosestPoint(). 00057 { 00058 return _parents; 00059 }
|
|
|
Definition at line 62 of file OSGNodeCore.inl. References osg::NodeCore::_parents. 00063 { 00064 return _parents; 00065 }
|
|
|
Definition at line 68 of file OSGNodeCore.inl. References osg::NodeCore::_parents. 00069 { 00070 return &_parents; 00071 }
|
|
|
Definition at line 237 of file OSGNodeCore.inl. References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::size(). Referenced by osg::Transform::changed(). 00238 { 00239 for(UInt32 i = 0; i < _parents.size(); i++) 00240 { 00241 _parents[i]->invalidateVolume(); 00242 } 00243 }
|
|
|
Reimplemented from osg::FieldContainer. Reimplemented in osg::MaterialPool. Definition at line 142 of file OSGNodeCore.inl.
|
|
|
Definition at line 150 of file OSGNodeCore.inl. References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::push_back(). 00151 { 00152 _parents.push_back(parent); 00153 }
|
|
|
Definition at line 156 of file OSGNodeCore.inl. References osg::NodeCore::_parents, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), and osg::MField< FieldTypeT, fieldNameSpace >::find(). 00157 { 00158 MFNodePtr::iterator parentIt = _parents.find(parent); 00159 00160 if(parentIt != _parents.end()) 00161 { 00162 _parents.erase(parentIt); 00163 } 00164 }
|
|
|
Reimplemented in osg::Geometry. Definition at line 170 of file OSGNodeCore.inl. Referenced by osg::MaterialPool::add(), osg::NodeCore::dump(), and osg::MaterialPool::sub().
|
|