Kawe Mazidjatari 04bee896be Fix string/wstring type conflict
cppkore uses string/wstring as StringBase while we use std::string/std::wstring as string/wstring. Changed all types in cppkore to String/WString instead.
2022-05-21 21:51:35 +02:00

43 lines
1.3 KiB
C++

#pragma once
#include <cstdint>
#include "Model.h"
#include "Animation.h"
#include "StringBase.h"
namespace Assets::Exporters
{
// This enumeration represents the possible exporter scale constants.
enum class ExporterScale
{
// This exporter requires no scale modifications.
Default,
// This exporter requires conversion to inches.
Inch,
// This exporter requires conversion to centimeters.
CM
};
// The interface for all asset exporter types.
class Exporter
{
public:
// Exports the given animation to the provided path.
virtual bool ExportAnimation(const Animation& Animation, const String& Path) = 0;
// Exports the given model to the provided path.
virtual bool ExportModel(const Model& Model, const String& Path) = 0;
// Gets the file extension for this exporters model format.
virtual imstring ModelExtension() = 0;
// Gets the file extension for this exporters animation format.
virtual imstring AnimationExtension() = 0;
// Gets the required scaling constant for this exporter.
virtual ExporterScale ExportScale() = 0;
// Gets whether or not the exporter supports animation exporting.
virtual bool SupportsAnimations() = 0;
// Gets whether or not the exporter supports model exporting.
virtual bool SupportsModels() = 0;
};
}