|
osgEarth 2.1.1
|
Public Types | |
| typedef std::map< osg::Vec3, GLuint > | VertMap |
Public Member Functions | |
| TriangleData () | |
| void | setSourceVerts (osg::Vec3Array *sourceVerts) |
| void | setSourceTexCoords (osg::Vec2Array *sourceTexCoords) |
| GLuint | record (const osg::Vec3 &v, const osg::Vec2f &t) |
| void | operator() (unsigned int p1, unsigned int p2, unsigned int p3) |
Public Attributes | |
| VertMap | _vertMap |
| osg::Vec3Array * | _sourceVerts |
| osg::Vec2Array * | _sourceTexCoords |
| osg::ref_ptr< osg::Vec3Array > | _verts |
| osg::ref_ptr< osg::Vec2Array > | _texcoords |
| TriangleQueue | _tris |
Definition at line 131 of file MeshSubdivider.cpp.
| typedef std::map<osg::Vec3,GLuint> anonymous_namespace{MeshSubdivider.cpp}::TriangleData::VertMap |
Definition at line 133 of file MeshSubdivider.cpp.
| anonymous_namespace{MeshSubdivider.cpp}::TriangleData::TriangleData | ( | ) | [inline] |
Definition at line 141 of file MeshSubdivider.cpp.
{
_verts = new osg::Vec3Array();
_sourceVerts = 0;
_sourceTexCoords = 0;
}
| void anonymous_namespace{MeshSubdivider.cpp}::TriangleData::operator() | ( | unsigned int | p1, |
| unsigned int | p2, | ||
| unsigned int | p3 | ||
| ) | [inline] |
Definition at line 181 of file MeshSubdivider.cpp.
{
const osg::Vec3 v0 = (*_sourceVerts)[p1];
const osg::Vec3 v1 = (*_sourceVerts)[p2];
const osg::Vec3 v2 = (*_sourceVerts)[p3];
osg::Vec2 t0, t1, t2;
if (_sourceTexCoords)
{
t0 = (*_sourceTexCoords)[p1];
t1 = (*_sourceTexCoords)[p2];
t2 = (*_sourceTexCoords)[p3];
}
_tris.push( Triangle(record(v0, t0), record(v1, t1), record(v2, t2)) );
//OE_NOTICE << "Incoming verts " << p1 << ", " << p2 << ", " << p3 << std::endl;
}
| GLuint anonymous_namespace{MeshSubdivider.cpp}::TriangleData::record | ( | const osg::Vec3 & | v, |
| const osg::Vec2f & | t | ||
| ) | [inline] |
Definition at line 159 of file MeshSubdivider.cpp.
{
VertMap::iterator i = _vertMap.find(v);
if ( i == _vertMap.end() )
{
GLuint index = _verts->size();
_verts->push_back(v);
_vertMap[v] = index;
//Only push back the texture coordinate if it's valid
if (_texcoords)
{
_texcoords->push_back( t );
}
return index;
}
else
{
return i->second;
}
}
| void anonymous_namespace{MeshSubdivider.cpp}::TriangleData::setSourceTexCoords | ( | osg::Vec2Array * | sourceTexCoords | ) | [inline] |
Definition at line 153 of file MeshSubdivider.cpp.
{
_sourceTexCoords = sourceTexCoords;
_texcoords = new osg::Vec2Array();
}
| void anonymous_namespace{MeshSubdivider.cpp}::TriangleData::setSourceVerts | ( | osg::Vec3Array * | sourceVerts | ) | [inline] |
Definition at line 148 of file MeshSubdivider.cpp.
{
_sourceVerts = sourceVerts;
}
| osg::Vec2Array* anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_sourceTexCoords |
Definition at line 136 of file MeshSubdivider.cpp.
| osg::Vec3Array* anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_sourceVerts |
Definition at line 135 of file MeshSubdivider.cpp.
| osg::ref_ptr<osg::Vec2Array> anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_texcoords |
Definition at line 138 of file MeshSubdivider.cpp.
| TriangleQueue anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_tris |
Definition at line 139 of file MeshSubdivider.cpp.
| VertMap anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_vertMap |
Definition at line 134 of file MeshSubdivider.cpp.
| osg::ref_ptr<osg::Vec3Array> anonymous_namespace{MeshSubdivider.cpp}::TriangleData::_verts |
Definition at line 137 of file MeshSubdivider.cpp.
1.7.3