37#ifndef Alembic_Abc_ArchiveInfo_h
38#define Alembic_Abc_ArchiveInfo_h
63template <
class ARCHIVE_CTOR>
71 const std::string &iFileName,
74 const std::string & iApplicationWriter,
78 const std::string & iUserDescription,
87template <
class ARCHIVE_CTOR>
95 const std::string &iFileName,
101 const std::string & iApplicationWriter,
105 const std::string & iUserDescription,
120 std::string & oApplicationWriter,
123 std::string & oAlembicVersion,
126 Util::uint32_t & oAlembicApiVersion,
129 std::string & oDateWritten,
132 std::string & oUserDescription );
141 std::string & oApplicationWriter,
144 std::string & oAlembicVersion,
147 Util::uint32_t & oAlembicApiVersion,
150 std::string & oDateWritten,
153 std::string & oUserDescription,
176template <
class ARCHIVE_CTOR>
179 const std::string &iFileName,
181 const std::string &iApplicationWriter,
182 const std::string &iUserDescription,
189 if ( iApplicationWriter !=
"" )
197#if defined _WIN32 || defined _WIN64
198 ctime_s( dateBuf, 128, &rawtimeNow);
200 ctime_r( &rawtimeNow, dateBuf );
203 std::size_t bufLen = strlen( dateBuf );
204 if ( bufLen > 0 && dateBuf[bufLen - 1] ==
'\n' )
206 dateBuf[bufLen - 1] =
'\0';
210 if ( iUserDescription !=
"" )
220 return OArchive( iCtor, iFileName, md, policy );
224template <
class ARCHIVE_CTOR>
227 const std::string &iFileName,
228 const std::string &iApplicationWriter,
229 const std::string &iUserDescription,
234 iUserDescription, iArg0, iArg1 );
#define ALEMBIC_EXPORT_CONST
#define ALEMBIC_VERSION_NS
ErrorHandler::Policy GetErrorHandlerPolicyFromArgs(const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
OArchive CreateArchiveWithInfo(ARCHIVE_CTOR iCtor, const std::string &iFileName, const std::string &iApplicationWriter, const std::string &iUserDescription, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
static ALEMBIC_EXPORT_CONST char * kApplicationNameKey
static ALEMBIC_EXPORT_CONST char * kUserDescriptionKey
ALEMBIC_EXPORT void GetArchiveInfo(IArchive &iArchive, std::string &oApplicationWriter, std::string &oAlembicVersion, Util::uint32_t &oAlembicApiVersion, std::string &oDateWritten, std::string &oUserDescription)
ALEMBIC_EXPORT void GetArchiveStartAndEndTime(IArchive &iArchive, double &oStartTime, double &oEndTime)
static ALEMBIC_EXPORT_CONST char * kDateWrittenKey
static ALEMBIC_EXPORT_CONST char * kDCCFPSKey
AbcA::MetaData GetMetaData(const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())