osgVolume.Locator类是OpenSceneGraph中的一个容器,用于管理具有位置信息的数据。该类通过计算位置信息确定数据的位置,并提供了一些方便的方法来获取相关的数据。
typedef std::vector< osg::ref_ptr< osgVolume::DataObject > > DataList;
osgVolume::Locator::Locator()
构造函数。创建一个没有绑定任何数据的Locator实例。
osgVolume::Locator::Locator( const osgVolume::Locator& copy, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY )
构造函数。从给定的Locator中复制所有数据对象到新的Locator中。
void osgVolume::Locator::setTransform( const osg::Matrix& matrix )
设置Locator的矩阵变换。
const osg::Matrix& osgVolume::Locator::getTransform() const
获取Locator的矩阵变换。
void osgVolume::Locator::setDataObjects( const DataList& data )
设置Locator的数据对象列表。
DataList& osgVolume::Locator::getDataObjects()
获取Locator的数据对象列表。
const DataList& osgVolume::Locator::getDataObjects() const
获取Locator的常量数据对象列表。
osgVolume::DataObject* osgVolume::Locator::find( const osg::Vec3& point )
根据给定的点查找最近的数据对象,并返回指向该对象的指针。
osgVolume::DataObject* osgVolume::Locator::findNearest( const osg::Vec3& point )
查找包含给定点的最近的数据对象,并返回指向该对象的指针。
osgVolume::Locator::DataList osgVolume::Locator::findIntersections( const osg::Vec3& start, const osg::Vec3& end )
查找与给定线段相交的所有数据对象,并返回一个包含所有对象的指针列表。