6 #ifndef MATERIALX_GEOMETRYHANDLER_H
7 #define MATERIALX_GEOMETRYHANDLER_H
47 virtual bool load(
const FilePath& filePath,
MeshList& meshList,
bool texcoordVerticalFlip =
false) = 0;
74 return std::make_shared<GeometryHandler>();
82 void supportedExtensions(
StringSet& extensions);
88 bool hasGeometry(
const string&
location);
96 bool loadGeometry(
const FilePath& filePath,
bool texcoordVerticalFlip =
false);
111 return _minimumBounds;
117 return _maximumBounds;
123 bool flipTexCoordsHorizontally =
false);
127 void computeBounds();
shared_ptr< class Mesh > MeshPtr
Shared pointer to a mesh.
std::multimap< string, GeometryLoaderPtr > GeometryLoaderMap
Map of extensions to image loaders.
virtual ~GeometryLoader()
#define MATERIALX_NAMESPACE_BEGIN
shared_ptr< class MeshPartition > MeshPartitionPtr
Shared pointer to a mesh partition.
virtual ~GeometryHandler()
GeometryLoaderMap _geometryLoaders
const Vector3 & getMinimumBounds() const
Return the minimum bounds for all meshes.
const MeshList & getMeshes() const
Get list of meshes.
const StringSet & supportedExtensions() const
static GeometryHandlerPtr create()
Create a new geometry handler.
const Vector3 & getMaximumBounds() const
Return the minimum bounds for all meshes.
std::shared_ptr< class GeometryHandler > GeometryHandlerPtr
Shared pointer to an GeometryHandler.
std::set< string > StringSet
A set of strings.
#define MATERIALX_NAMESPACE_END
vector< MeshPtr > MeshList
List of meshes.
std::shared_ptr< class GeometryLoader > GeometryLoaderPtr
Shared pointer to a GeometryLoader.