MCPcopy Create free account
hub / github.com/cinder/Cinder / loadInto

Method loadInto

src/cinder/ObjLoader.cpp:95–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93}
94
95void ObjLoader::loadInto( geom::Target *target, const geom::AttribSet & /*requestedAttribs*/ ) const
96{
97 load();
98
99 // copy attributes
100 if( getAttribDims( geom::Attrib::POSITION ) )
101 target->copyAttrib( geom::Attrib::POSITION, getAttribDims( geom::Attrib::POSITION ), 0, (const float*)mOutputVertices.data(), getNumVertices() );
102 if( getAttribDims( geom::Attrib::NORMAL ) )
103 target->copyAttrib( geom::Attrib::NORMAL, getAttribDims( geom::Attrib::NORMAL ), 0, (const float*)mOutputNormals.data(), std::min( mOutputNormals.size(), mOutputVertices.size() ) );
104 if( getAttribDims( geom::Attrib::TEX_COORD_0 ) )
105 target->copyAttrib( geom::Attrib::TEX_COORD_0, getAttribDims( geom::Attrib::TEX_COORD_0 ), 0, (const float*)mOutputTexCoords.data(), std::min( mOutputTexCoords.size(), mOutputVertices.size() ) );
106 if( getAttribDims( geom::Attrib::COLOR ) )
107 target->copyAttrib( geom::Attrib::COLOR, getAttribDims( geom::Attrib::COLOR ), 0, (const float*)mOutputColors.data(), std::min( mOutputColors.size(), mOutputVertices.size() ) );
108
109 // copy indices
110 if( getNumIndices() )
111 target->copyIndices( geom::Primitive::TRIANGLES, mOutputIndices.data(), getNumIndices(), 4 /* bytes per index */ );
112}
113
114uint8_t ObjLoader::getAttribDims( geom::Attrib attr ) const
115{

Callers 1

writeObjFunction · 0.45

Calls 9

loadFunction · 0.85
getAttribDimsFunction · 0.85
getNumVerticesFunction · 0.50
minFunction · 0.50
getNumIndicesFunction · 0.50
copyAttribMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
copyIndicesMethod · 0.45

Tested by

no test coverage detected