Path Tracer
|
Classes | |
struct | AttachmentInfo |
Helper data structure for SceneCombiner. More... | |
class | BaseImporter |
class | Bitmap |
class | BlobIOStream |
class | BlobIOSystem |
struct | BoneWithHash |
Helper data structure for SceneCombiner::MergeBones. More... | |
class | ByteSwap |
class | CommentRemover |
Helper class to remove single and multi line comments from a file. More... | |
class | DefaultIOStream |
Default IO implementation, use standard IO operations. More... | |
class | DefaultIOSystem |
class | DefaultLogger |
CPP-API: Primary logging facility of Assimp. More... | |
class | Exporter |
class | ExportProperties |
struct | find_node_by_name_predicate |
class | Importer |
class | IOStream |
CPP-API: Class to handle file I/O for C++. More... | |
class | IOStreamBuffer |
class | IOSystem |
CPP-API: Interface to the file system. More... | |
class | LineSplitter |
class | LogFunctions |
class | Logger |
CPP-API: Abstract interface for logger implementations. Assimp provides a default implementation and uses it for almost all logging stuff ('DefaultLogger'). This class defines just basic logging behavior and is not of interest for you. Instead, take a look at #DefaultLogger. More... | |
class | LogStream |
CPP-API: Abstract interface for log stream implementations. More... | |
class | MemoryIOStream |
class | MemoryIOSystem |
struct | NodeAttachmentInfo |
struct | NodeConverter |
class | NullLogger |
CPP-API: Empty logging implementation. More... | |
class | ProgressHandler |
CPP-API: Abstract interface for custom progress report receivers. More... | |
class | SceneCombiner |
Static helper class providing various utilities to merge two scenes. It is intended as internal utility and NOT for use by applications. More... | |
struct | SceneHelper |
Utility for SceneCombiner. More... | |
class | SGSpatialSort |
class | SkeletonMeshBuilder |
class | SmallVector |
Small vector with inplace storage. More... | |
class | SpatialSort |
class | StandardShapes |
Helper class to generate vertex buffers for standard geometric shapes, such as cylinders, cones, boxes, spheres, elipsoids ... . More... | |
class | StreamReader |
class | StreamWriter |
class | Subdivider |
class | TXmlParser |
class | Vertex |
class | XmlNodeIterator |
class | ZipArchiveIOSystem |
Typedefs | |
typedef std::pair< aiBone *, unsigned int > | BoneSrcIndex |
typedef StreamReader< true > | StreamReaderBE |
typedef StreamReader< false > | StreamReaderLE |
typedef StreamReader< true, true > | StreamReaderAny |
typedef StreamWriter< true > | StreamWriterBE |
typedef StreamWriter< false > | StreamWriterLE |
typedef StreamWriter< true, true > | StreamWriterAny |
using | XmlNode = pugi::xml_node |
using | XmlAttribute = pugi::xml_attribute |
using | XmlParser = TXmlParser< pugi::xml_node > |
Functions | |
ASSIMP_API void | aiAssertViolation (const char *failedExpression, const char *file, int line) |
ASSIMP_API aiAnimMesh * | aiCreateAnimMesh (const aiMesh *mesh) |
unsigned int | strtoul10 (const char *in, const char **out=0) |
unsigned int | strtoul8 (const char *in, const char **out=0) |
unsigned int | strtoul16 (const char *in, const char **out=0) |
unsigned int | HexDigitToDecimal (char in) |
uint8_t | HexOctetToDecimal (const char *in) |
int | strtol10 (const char *in, const char **out=0) |
unsigned int | strtoul_cppstyle (const char *in, const char **out=0) |
template<typename ExceptionType = DeadlyImportError> | |
uint64_t | strtoul10_64 (const char *in, const char **out=0, unsigned int *max_inout=0) |
template<typename ExceptionType = DeadlyImportError> | |
int64_t | strtol10_64 (const char *in, const char **out=0, unsigned int *max_inout=0) |
template<typename Real , typename ExceptionType = DeadlyImportError> | |
const char * | fast_atoreal_move (const char *c, Real &out, bool check_comma=true) |
template<typename ExceptionType = DeadlyImportError> | |
ai_real | fast_atof (const char *c) |
template<typename ExceptionType = DeadlyImportError> | |
ai_real | fast_atof (const char *c, const char **cout) |
template<typename ExceptionType = DeadlyImportError> | |
ai_real | fast_atof (const char **inout) |
template<class char_t > | |
AI_FORCE_INLINE char_t | ToLower (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE char_t | ToUpper (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsUpper (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsLower (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsSpace (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsLineEnd (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsSpaceOrNewLine (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipSpaces (const char_t *in, const char_t **out) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipSpaces (const char_t **inout) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipLine (const char_t *in, const char_t **out) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipLine (const char_t **inout) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipSpacesAndLineEnd (const char_t *in, const char_t **out) |
template<class char_t > | |
AI_FORCE_INLINE bool | SkipSpacesAndLineEnd (const char_t **inout) |
template<class char_t > | |
AI_FORCE_INLINE bool | GetNextLine (const char_t *&buffer, char_t out[BufferSize]) |
template<class char_t > | |
AI_FORCE_INLINE bool | IsNumeric (char_t in) |
template<class char_t > | |
AI_FORCE_INLINE bool | TokenMatch (char_t *&in, const char *token, unsigned int len) |
AI_FORCE_INLINE bool | TokenMatchI (const char *&in, const char *token, unsigned int len) |
Case-ignoring version of TokenMatch. More... | |
AI_FORCE_INLINE void | SkipToken (const char *&in) |
AI_FORCE_INLINE std::string | GetNextToken (const char *&in) |
template<class string_type > | |
AI_FORCE_INLINE unsigned int | tokenize (const string_type &str, std::vector< string_type > &tokens, const string_type &delimiters) |
Will perform a simple tokenize. More... | |
std::string | ai_stdStrToLower (const std::string &str) |
AI_FORCE_INLINE unsigned int | ASSIMP_itoa10 (char *out, unsigned int max, int32_t number) |
itoa with a fixed base 10 'itoa' is not consistently available on all platforms so it is quite useful to have a small replacement function here. No need to use a full sprintf() if we just want to print a number ... More... | |
template<size_t length> | |
AI_FORCE_INLINE unsigned int | ASSIMP_itoa10 (char(&out)[length], int32_t number) |
itoa with a fixed base 10 (Secure template overload) The compiler should choose this function if he or she is able to determine the size of the array automatically. | |
AI_FORCE_INLINE int | ASSIMP_stricmp (const char *s1, const char *s2) |
Helper function to do platform independent string comparison. More... | |
AI_FORCE_INLINE int | ASSIMP_stricmp (const std::string &a, const std::string &b) |
Case independent comparison of two std::strings. More... | |
AI_FORCE_INLINE int | ASSIMP_strincmp (const char *s1, const char *s2, unsigned int n) |
Helper function to do platform independent string comparison. More... | |
AI_FORCE_INLINE unsigned int | integer_pow (unsigned int base, unsigned int power) |
Evaluates an integer power. More... | |
AI_FORCE_INLINE Vertex | operator+ (const Vertex &v0, const Vertex &v1) |
AI_FORCE_INLINE Vertex | operator- (const Vertex &v0, const Vertex &v1) |
AI_FORCE_INLINE Vertex | operator* (const Vertex &v0, ai_real f) |
AI_FORCE_INLINE Vertex | operator/ (const Vertex &v0, ai_real f) |
AI_FORCE_INLINE Vertex | operator* (ai_real f, const Vertex &v0) |
std::string | XMLEscape (const std::string &data) |
Variables | |
class ASSIMP_API | ExportProperties |
const double | fast_atof_table [16] |
Assimp's CPP-API and all internal APIs
ASSIMP_API aiAnimMesh* Assimp::aiCreateAnimMesh | ( | const aiMesh * | mesh | ) |
Create aiAnimMesh from aiMesh.
mesh | The input mesh to create an animated mesh from. |
AI_FORCE_INLINE unsigned int Assimp::ASSIMP_itoa10 | ( | char * | out, |
unsigned int | max, | ||
int32_t | number | ||
) |
itoa with a fixed base 10 'itoa' is not consistently available on all platforms so it is quite useful to have a small replacement function here. No need to use a full sprintf() if we just want to print a number ...
out | Output buffer |
max | Maximum number of characters to be written, including '\0'. This parameter may not be 0. |
number | Number to be written |
AI_FORCE_INLINE int Assimp::ASSIMP_stricmp | ( | const char * | s1, |
const char * | s2 | ||
) |
Helper function to do platform independent string comparison.
This is required since stricmp() is not consistently available on all platforms. Some platforms use the '_' prefix, others don't even have such a function.
s1 | First input string |
s2 | Second input string |
AI_FORCE_INLINE int Assimp::ASSIMP_stricmp | ( | const std::string & | a, |
const std::string & | b | ||
) |
Case independent comparison of two std::strings.
a | First string |
b | Second string |
AI_FORCE_INLINE int Assimp::ASSIMP_strincmp | ( | const char * | s1, |
const char * | s2, | ||
unsigned int | n | ||
) |
Helper function to do platform independent string comparison.
This is required since strincmp() is not consistently available on all platforms. Some platforms use the '_' prefix, others don't even have such a function.
s1 | First input string |
s2 | Second input string |
n | Macimum number of characters to compare |
|
inline |
Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.
AI_FORCE_INLINE unsigned int Assimp::integer_pow | ( | unsigned int | base, |
unsigned int | power | ||
) |
Evaluates an integer power.
todo: move somewhere where it fits better in than here
AI_FORCE_INLINE unsigned int Assimp::tokenize | ( | const string_type & | str, |
std::vector< string_type > & | tokens, | ||
const string_type & | delimiters | ||
) |
Will perform a simple tokenize.
str | String to tokenize. |
tokens | Array with tokens, will be empty if no token was found. |
delimiters | Delimiter for tokenize. |
AI_FORCE_INLINE bool Assimp::TokenMatchI | ( | const char *& | in, |
const char * | token, | ||
unsigned int | len | ||
) |
Case-ignoring version of TokenMatch.
in | Input |
token | Token to check for |
len | Number of characters to check |
class ASSIMP_API Assimp::ExportProperties |
CPP-API: The Exporter class forms an C++ interface to the export functionality of the Open Asset Import Library. Note that the export interface is available only if Assimp has been built with ASSIMP_BUILD_NO_EXPORT not defined.
The interface is modeled after the importer interface and mostly symmetric. The same rules for threading etc. apply.
In a nutshell, there are two export interfaces: #Export, which writes the output file(s) either to the regular file system or to a user-supplied #IOSystem, and #ExportToBlob which returns a linked list of memory buffers (blob), each referring to one output file (in most cases there will be only one output file of course, but this extra complexity is needed since Assimp aims at supporting a wide range of file formats).
#ExportToBlob is especially useful if you intend to work with the data in-memory.
const double Assimp::fast_atof_table[16] |