hl2_src-leak-2017/src/public/movieobjects/dmedccmakefile.h

132 lines
3.9 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Describes the way to compile data in DCC files (describes an export step)
//
//===========================================================================//
#ifndef DMEDCCMAKEFILE_H
#define DMEDCCMAKEFILE_H
#ifdef _WIN32
#pragma once
#endif
#include "movieobjects/dmemakefile.h"
//-----------------------------------------------------------------------------
// Describes a source for DCC makefiles
//-----------------------------------------------------------------------------
class CDmeSourceDCCFile : public CDmeSource
{
DEFINE_ELEMENT( CDmeSourceDCCFile, CDmeSource );
public:
CDmaStringArray m_RootDCCObjects;
CDmaVar< int > m_ExportType; // 0 == model, 1 == skeletal animation
CDmaVar< float > m_FrameStart;
CDmaVar< float > m_FrameEnd;
CDmaVar< float > m_FrameIncrement;
};
//-----------------------------------------------------------------------------
// Strictly here to customize OpenEditor
//-----------------------------------------------------------------------------
class CDmeSourceMayaFile : public CDmeSourceDCCFile
{
DEFINE_ELEMENT( CDmeSourceMayaFile, CDmeSourceDCCFile );
};
class CDmeSourceMayaModelFile : public CDmeSourceMayaFile
{
DEFINE_ELEMENT( CDmeSourceMayaModelFile, CDmeSourceMayaFile );
};
class CDmeSourceMayaAnimationFile : public CDmeSourceMayaFile
{
DEFINE_ELEMENT( CDmeSourceMayaAnimationFile, CDmeSourceMayaFile );
};
class CDmeSourceXSIFile : public CDmeSourceDCCFile
{
DEFINE_ELEMENT( CDmeSourceXSIFile, CDmeSourceDCCFile );
};
//-----------------------------------------------------------------------------
// Describes a DCC asset
//-----------------------------------------------------------------------------
class CDmeDCCMakefile : public CDmeMakefile
{
DEFINE_ELEMENT( CDmeDCCMakefile, CDmeMakefile );
public:
virtual void GetOutputs( CUtlVector<CUtlString> &fullPaths );
private:
virtual CDmElement *CreateOutputElement( );
virtual void DestroyOutputElement( CDmElement *pOutput );
virtual const char *GetOutputDirectoryID() { return "makefiledir:..\\dmx"; }
bool m_bFlushFile;
};
//-----------------------------------------------------------------------------
// Describes a Maya asset
//-----------------------------------------------------------------------------
class CDmeMayaMakefile : public CDmeDCCMakefile
{
DEFINE_ELEMENT( CDmeMayaMakefile, CDmeDCCMakefile );
};
//-----------------------------------------------------------------------------
// Describes a XSI asset
//-----------------------------------------------------------------------------
class CDmeXSIMakefile : public CDmeDCCMakefile
{
DEFINE_ELEMENT( CDmeXSIMakefile, CDmeDCCMakefile );
public:
// Compiling is just exporting the data in the file
virtual DmeMakefileType_t *GetMakefileType();
virtual DmeMakefileType_t* GetSourceTypes();
};
//-----------------------------------------------------------------------------
// Describes a Maya model/animation asset
//-----------------------------------------------------------------------------
class CDmeMayaModelMakefile : public CDmeMayaMakefile
{
DEFINE_ELEMENT( CDmeMayaModelMakefile, CDmeMayaMakefile );
public:
// Compiling is just exporting the data in the file
virtual DmeMakefileType_t *GetMakefileType();
virtual DmeMakefileType_t* GetSourceTypes();
};
class CDmeMayaAnimationMakefile : public CDmeMayaMakefile
{
DEFINE_ELEMENT( CDmeMayaAnimationMakefile, CDmeMayaMakefile );
public:
// Compiling is just exporting the data in the file
virtual DmeMakefileType_t *GetMakefileType();
virtual DmeMakefileType_t* GetSourceTypes();
};
//-----------------------------------------------------------------------------
// Describes a XSI animation asset
//-----------------------------------------------------------------------------
class CDmeXSIAnimationMakefile : public CDmeXSIMakefile
{
DEFINE_ELEMENT( CDmeXSIAnimationMakefile, CDmeXSIMakefile );
};
#endif // DMEDCCMAKEFILE_H