DirectPropertyMap unparsedProperties = props.GetUnparsedProperties();
// create metadata on node
- std::size_t numStaticMetaData = 2;
+ const std::size_t numStaticMetaData = 2;
aiMetadata* data = aiMetadata::Alloc( static_cast<unsigned int>(unparsedProperties.size() + numStaticMetaData) );
nd.mMetaData = data;
int index = 0;
P: "ShininessExponent", "double", "Number", "",0.5
@endvebatim
*/
-class Property
-{
+class Property {
protected:
Property();
};
template<typename T>
-class TypedProperty : public Property
-{
+class TypedProperty : public Property {
public:
explicit TypedProperty(const T& value)
- : value(value)
- {
+ : value(value) {
+ // empty
}
-public:
const T& Value() const {
return value;
}
typedef std::fbx_unordered_map<std::string,std::shared_ptr<Property> > DirectPropertyMap;
-typedef std::fbx_unordered_map<std::string,const Property*> PropertyMap;
-typedef std::fbx_unordered_map<std::string,const Element*> LazyPropertyMap;
+typedef std::fbx_unordered_map<std::string,const Property*> PropertyMap;
+typedef std::fbx_unordered_map<std::string,const Element*> LazyPropertyMap;
/**
* Represents a property table as can be found in the newer FBX files (Properties60, Properties70)
*/
-class PropertyTable
-{
+class PropertyTable {
public:
// in-memory property table with no source element
PropertyTable();
PropertyTable(const Element& element, std::shared_ptr<const PropertyTable> templateProps);
~PropertyTable();
-public:
const Property* Get(const std::string& name) const;
// PropertyTable's need not be coupled with FBX elements so this can be NULL
const Element* const element;
};
-
// ------------------------------------------------------------------------------------------------
template <typename T>
inline
// create output materials
void SMDImporter::CreateOutputMaterials()
{
+ ai_assert( nullptr != pScene );
+
pScene->mNumMaterials = (unsigned int)aszTextures.size();
pScene->mMaterials = new aiMaterial*[std::max(1u, pScene->mNumMaterials)];
- for (unsigned int iMat = 0; iMat < pScene->mNumMaterials;++iMat)
- {
+ for (unsigned int iMat = 0; iMat < pScene->mNumMaterials; ++iMat) {
aiMaterial* pcMat = new aiMaterial();
+ ai_assert( nullptr != pcMat );
pScene->mMaterials[iMat] = pcMat;
aiString szName;