Gooseberry farm: Enable ALembic on windows platform

Also do some nnoying fixes for stupidness of MSVC which
was searchinh for symbols in the wrong namespaces.

Should be backported to Alembic or Gooseberry branches
but that'd happen from another operation system on this
laptop,
This commit is contained in:
2015-06-18 20:55:20 +05:00
parent 3824ba7b98
commit c135f41ac5
4 changed files with 19 additions and 6 deletions

View File

@@ -219,6 +219,19 @@ BF_OPENGL_LIB = 'opengl32 glu32'
BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a', BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
'${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a', '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
'${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ] '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
# Alembic
WITH_BF_HDF5 = False
WITH_BF_ALEMBIC = True
WITH_BF_STATICALEMBIC = True
BF_ALEMBIC = '${LIBDIR}/alembic'
BF_ALEMBIC_INC = '${BF_ALEMBIC}/include'
BF_ALEMBIC_LIBPATH = '${BF_ALEMBIC}/lib/static'
BF_ALEMBIC_LIB_STATIC = '${BF_ALEMBIC_LIBPATH}/AlembicAbcGeom.lib ${BF_ALEMBIC_LIBPATH}/AlembicAbc.lib ' + \
'${BF_ALEMBIC_LIBPATH}/AlembicAbcCollection.lib ${BF_ALEMBIC_LIBPATH}/AlembicAbcCoreFactory.lib ' + \
'${BF_ALEMBIC_LIBPATH}/AlembicAbcCoreOgawa.lib ${BF_ALEMBIC_LIBPATH}/AlembicAbcMaterial.lib ' + \
'${BF_ALEMBIC_LIBPATH}/AlembicOgawa.lib ${BF_ALEMBIC_LIBPATH}/AlembicAbcCoreAbstract.lib ' + \
'${BF_ALEMBIC_LIBPATH}/AlembicUtil.lib'
CC = 'cl.exe' CC = 'cl.exe'
CXX = 'cl.exe' CXX = 'cl.exe'

View File

@@ -63,7 +63,7 @@ static void write_sample(CustomDataWriter */*writer*/, OCompoundProperty &/*pare
template <> template <>
void write_sample<CD_MDEFORMVERT>(CustomDataWriter *writer, OCompoundProperty &parent, const std::string &name, void *data, int num_data) void write_sample<CD_MDEFORMVERT>(CustomDataWriter *writer, OCompoundProperty &parent, const std::string &name, void *data, int num_data)
{ {
OCompoundProperty prop = writer->add_compound_property<OCompoundProperty>(name, parent); OCompoundProperty prop = writer->add_compound_property<OCompoundProperty, OCompoundProperty>(name, parent);
OInt32ArrayProperty totweight_prop = writer->add_array_property<OInt32ArrayProperty>(name + ":totweight", prop); OInt32ArrayProperty totweight_prop = writer->add_array_property<OInt32ArrayProperty>(name + ":totweight", prop);
OInt32ArrayProperty flag_prop = writer->add_array_property<OInt32ArrayProperty>(name + ":flag", prop); OInt32ArrayProperty flag_prop = writer->add_array_property<OInt32ArrayProperty>(name + ":flag", prop);

View File

@@ -78,7 +78,7 @@ struct CustomDataWriter {
return prop; return prop;
} }
else { else {
return PropertyT(it->second->asArrayPtr(), Abc::kWrapExisting); return PropertyT(it->second->asArrayPtr(), ::Alembic::Abc::kWrapExisting);
} }
} }
@@ -92,7 +92,7 @@ struct CustomDataWriter {
return prop; return prop;
} }
else { else {
return PropertyT(it->second->asCompoundPtr(), Abc::kWrapExisting); return PropertyT(it->second->asCompoundPtr(), ::Alembic::Abc::kWrapExisting);
} }
} }
@@ -142,7 +142,7 @@ struct CustomDataReader {
return prop; return prop;
} }
else { else {
return PropertyT(it->second->asArrayPtr(), Abc::kWrapExisting); return PropertyT(it->second->asArrayPtr(), ::Alembic::Abc::kWrapExisting);
} }
} }
@@ -156,7 +156,7 @@ struct CustomDataReader {
return prop; return prop;
} }
else { else {
return PropertyT(it->second->asCompoundPtr(), Abc::kWrapExisting); return PropertyT(it->second->asCompoundPtr(), ::Alembic::Abc::kWrapExisting);
} }
} }

View File

@@ -105,7 +105,7 @@ private:
template <class OObjectT> template <class OObjectT>
OObjectT AbcWriterArchive::add_id_object(ID *id) OObjectT AbcWriterArchive::add_id_object(ID *id)
{ {
using namespace Abc; using namespace ::Alembic::Abc;
if (!m_abc_archive) if (!m_abc_archive)
return OObjectT(); return OObjectT();