adapt c-api to get ImporterDesc for a given loader ( see https://github.com/assimp/assimp/issues/412 ).
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>pull/427/head
parent
1f13158b31
commit
7a31a68cfc
|
@ -47,6 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "GenericProperty.h"
|
#include "GenericProperty.h"
|
||||||
#include "CInterfaceIOWrapper.h"
|
#include "CInterfaceIOWrapper.h"
|
||||||
|
#include "../include/assimp/importerdesc.h"
|
||||||
#include "Importer.h"
|
#include "Importer.h"
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
@ -84,7 +85,11 @@ namespace Assimp
|
||||||
|
|
||||||
/** Verbose logging active or not? */
|
/** Verbose logging active or not? */
|
||||||
static aiBool gVerboseLogging = false;
|
static aiBool gVerboseLogging = false;
|
||||||
}
|
|
||||||
|
/** will return all registered importers. */
|
||||||
|
void GetImporterInstanceList(std::vector< BaseImporter* >& out);
|
||||||
|
|
||||||
|
} // namespace assimp
|
||||||
|
|
||||||
|
|
||||||
#ifndef ASSIMP_BUILD_SINGLETHREADED
|
#ifndef ASSIMP_BUILD_SINGLETHREADED
|
||||||
|
@ -606,4 +611,22 @@ ASSIMP_API void aiIdentityMatrix4(
|
||||||
*mat = aiMatrix4x4();
|
*mat = aiMatrix4x4();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
ASSIMP_API C_STRUCT const aiImporterDesc* aiGetImporterDesc( const char *extension ) {
|
||||||
|
if( NULL == extension ) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
const aiImporterDesc *desc( NULL );
|
||||||
|
std::vector< BaseImporter* > out;
|
||||||
|
GetImporterInstanceList( out );
|
||||||
|
for( size_t i = 0; i < out.size(); ++i ) {
|
||||||
|
if( 0 == strncmp( out[ i ]->GetInfo()->mFileExtensions, extension, strlen( extension ) ) ) {
|
||||||
|
desc = out[ i ]->GetInfo();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -91,6 +91,7 @@ struct ScopeGuard
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// no copying allowed.
|
// no copying allowed.
|
||||||
|
ScopeGuard();
|
||||||
ScopeGuard( const ScopeGuard & );
|
ScopeGuard( const ScopeGuard & );
|
||||||
ScopeGuard &operator = ( const ScopeGuard & );
|
ScopeGuard &operator = ( const ScopeGuard & );
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ ASSIMP_API C_STRUCT aiLogStream aiGetPredefinedLogStream(
|
||||||
* Attaching a log stream can slightly reduce Assimp's overall import
|
* Attaching a log stream can slightly reduce Assimp's overall import
|
||||||
* performance. Multiple log-streams can be attached.
|
* performance. Multiple log-streams can be attached.
|
||||||
* @param stream Describes the new log stream.
|
* @param stream Describes the new log stream.
|
||||||
* @note To ensure proepr destruction of the logging system, you need to manually
|
* @note To ensure proper destruction of the logging system, you need to manually
|
||||||
* call aiDetachLogStream() on every single log stream you attach.
|
* call aiDetachLogStream() on every single log stream you attach.
|
||||||
* Alternatively (for the lazy folks) #aiDetachAllLogStreams is provided.
|
* Alternatively (for the lazy folks) #aiDetachAllLogStreams is provided.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -133,4 +133,6 @@ struct aiImporterDesc
|
||||||
const char* mFileExtensions;
|
const char* mFileExtensions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ASSIMP_API C_STRUCT const aiImporterDesc* aiGetImporterDesc( const char *extension );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -16,7 +16,8 @@ SOURCE_GROUP( unit FILES
|
||||||
)
|
)
|
||||||
|
|
||||||
SET( TEST_SRCS
|
SET( TEST_SRCS
|
||||||
unit/utFastAtof.cpp
|
unit/AssimpAPITest.cpp
|
||||||
|
unit/utFastAtof.cpp
|
||||||
unit/utFindDegenerates.cpp
|
unit/utFindDegenerates.cpp
|
||||||
unit/utFindInvalidData.cpp
|
unit/utFindInvalidData.cpp
|
||||||
unit/utFixInfacingNormals.cpp
|
unit/utFixInfacingNormals.cpp
|
||||||
|
|
Loading…
Reference in New Issue