mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
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.
43 lines
1.3 KiB
C++
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;
|
|
};
|
|
} |