diff --git a/SConstruct b/SConstruct index 34a51b040f..2a677128ce 100644 --- a/SConstruct +++ b/SConstruct @@ -2461,16 +2461,19 @@ if doConfigure : houdiniEnvSets = { "IECORE_NAME" : "IECoreHoudini", - "CXXFLAGS" : dependencyIncludes + [ "$HOUDINI_CXX_FLAGS", "-DMAKING_DSO" ] } houdiniEnvAppends = { "CXXFLAGS" : [ "-isystem", "$GLEW_INCLUDE_PATH", "-isystem", "$HOUDINI_INCLUDE_PATH", - "-std=$CXXSTD", + "$HOUDINI_CXX_FLAGS", + "-DMAKING_DSO", + "-DIECoreHoudini_EXPORTS", ], "CPPFLAGS" : [ + ## \todo: libIECoreHoudini should not use python. + ## Remove it from the src and then remove these flags. pythonEnv["PYTHON_INCLUDE_FLAGS"], ], "LIBPATH" : [ @@ -2489,6 +2492,8 @@ houdiniEnvAppends = { "HoudiniUT", "HoudiniRAY", "HoudiniAPPS3", + ## \todo: libIECoreHoudini should not use python. + ## Remove it from the src and then remove this lib. "boost_python" + env["BOOST_LIB_SUFFIX"], "GLEW$GLEW_LIB_SUFFIX" ] diff --git a/config/ie/options b/config/ie/options index 4a4eaec12d..2a90c6c55e 100644 --- a/config/ie/options +++ b/config/ie/options @@ -339,8 +339,7 @@ if targetApp=="houdini" : USD_LIB_PREFIX = "libpxr_" WITH_USD_MONOLITHIC = True - HOUDINI_CXX_FLAGS = " ".join( CXXFLAGS + houdiniReg['compilerFlags'] ) - # houdini 17.5 suffix openEXR with _sidefx + HOUDINI_CXX_FLAGS = " ".join( houdiniReg['compilerFlags'] ) if distutils.version.LooseVersion(houdiniVersion) >= distutils.version.LooseVersion("17.5") : ALEMBIC_LIB_SUFFIX = "" diff --git a/include/IECoreHoudini/Convert.h b/include/IECoreHoudini/Convert.h index fb47d89038..9f4b1d82e6 100644 --- a/include/IECoreHoudini/Convert.h +++ b/include/IECoreHoudini/Convert.h @@ -35,20 +35,24 @@ #ifndef IE_COREHOUDINI_CONVERT_H #define IE_COREHOUDINI_CONVERT_H +#include "IECoreHoudini/Export.h" + #include "IECore/Convert.h" #include "IECore/Data.h" -#include "OpenEXR/ImathColor.h" -#include "OpenEXR/ImathVec.h" +IECORE_PUSH_DEFAULT_VISIBILITY #include "OpenEXR/ImathBox.h" -#include "OpenEXR/ImathQuat.h" -#include "OpenEXR/ImathMatrix.h" +#include "OpenEXR/ImathColor.h" #include "OpenEXR/ImathEuler.h" +#include "OpenEXR/ImathMatrix.h" +#include "OpenEXR/ImathQuat.h" +#include "OpenEXR/ImathVec.h" +IECORE_POP_DEFAULT_VISIBILITY +#include "UT/UT_BoundingBox.h" #include "UT/UT_Color.h" #include "UT/UT_Matrix4.h" #include "UT/UT_Vector3.h" -#include "UT/UT_BoundingBox.h" #include @@ -58,70 +62,70 @@ namespace IECore { template<> -UT_Vector3 convert( const Imath::V3f &from ); +IECOREHOUDINI_API UT_Vector3 convert( const Imath::V3f &from ); template<> -Imath::V3f convert( const UT_Vector3 &from ); +IECOREHOUDINI_API Imath::V3f convert( const UT_Vector3 &from ); template<> -UT_Vector3 convert( const Imath::V3d &from ); +IECOREHOUDINI_API UT_Vector3 convert( const Imath::V3d &from ); template<> -Imath::V3d convert( const UT_Vector3 &from ); +IECOREHOUDINI_API Imath::V3d convert( const UT_Vector3 &from ); template<> -UT_Vector4 convert( const Imath::V3f &from ); +IECOREHOUDINI_API UT_Vector4 convert( const Imath::V3f &from ); template<> -Imath::V3f convert( const UT_Vector4 &from ); +IECOREHOUDINI_API Imath::V3f convert( const UT_Vector4 &from ); template<> -UT_Vector4 convert( const Imath::V3d &from ); +IECOREHOUDINI_API UT_Vector4 convert( const Imath::V3d &from ); template<> -Imath::V3d convert( const UT_Vector4 &from ); +IECOREHOUDINI_API Imath::V3d convert( const UT_Vector4 &from ); template<> -Imath::Color3f convert( const UT_Color &from ); +IECOREHOUDINI_API Imath::Color3f convert( const UT_Color &from ); template<> -UT_Color convert( const Imath::Color3f &from ); +IECOREHOUDINI_API UT_Color convert( const Imath::Color3f &from ); template<> -Imath::Color4f convert( const UT_Color &from ); +IECOREHOUDINI_API Imath::Color4f convert( const UT_Color &from ); template<> -UT_Color convert( const Imath::Color4f &from ); +IECOREHOUDINI_API UT_Color convert( const Imath::Color4f &from ); template<> -UT_BoundingBox convert( const Imath::Box3f &from ); +IECOREHOUDINI_API UT_BoundingBox convert( const Imath::Box3f &from ); template<> -Imath::Box3f convert( const UT_BoundingBox &from ); +IECOREHOUDINI_API Imath::Box3f convert( const UT_BoundingBox &from ); template<> -UT_BoundingBox convert( const Imath::Box3d &from ); +IECOREHOUDINI_API UT_BoundingBox convert( const Imath::Box3d &from ); template<> -Imath::Box3d convert( const UT_BoundingBox &from ); +IECOREHOUDINI_API Imath::Box3d convert( const UT_BoundingBox &from ); template<> -UT_Matrix4T convert( const Imath::M44d &from ); +IECOREHOUDINI_API UT_Matrix4T convert( const Imath::M44d &from ); template<> -Imath::M44d convert( const UT_Matrix4T &from ); +IECOREHOUDINI_API Imath::M44d convert( const UT_Matrix4T &from ); template<> -Imath::M44f convert( const UT_Matrix4T &from ); +IECOREHOUDINI_API Imath::M44f convert( const UT_Matrix4T &from ); template<> -UT_Matrix4T convert( const Imath::M44f &from ); +IECOREHOUDINI_API UT_Matrix4T convert( const Imath::M44f &from ); template<> -Imath::M44f convert( const UT_Matrix4T &from ); +IECOREHOUDINI_API Imath::M44f convert( const UT_Matrix4T &from ); template<> -Imath::M44d convert( const UT_Matrix4T &from ); +IECOREHOUDINI_API Imath::M44d convert( const UT_Matrix4T &from ); } // namespace IECore diff --git a/include/IECoreHoudini/CoreHoudini.h b/include/IECoreHoudini/CoreHoudini.h index cc50bb5c6a..a482643b58 100644 --- a/include/IECoreHoudini/CoreHoudini.h +++ b/include/IECoreHoudini/CoreHoudini.h @@ -38,20 +38,23 @@ #ifndef IECOREHOUDINI_COREHOUDINI_H #define IECOREHOUDINI_COREHOUDINI_H -#include -#include - +// \todo: libIECoreHoudini should not use python. Move any use case to the IECoreHoudini bindings #include "boost/python.hpp" -#include "GU/GU_DetailHandle.h" +#include "IECoreHoudini/Export.h" #include "IECore/Object.h" +#include "GU/GU_DetailHandle.h" + +#include +#include + /// The IECoreHoudini namespace holds all the functionality of libIECoreHoudini. namespace IECoreHoudini { -class CoreHoudini +class IECOREHOUDINI_API CoreHoudini { public: diff --git a/include/IECoreHoudini/FnParameterisedHolder.h b/include/IECoreHoudini/Export.h similarity index 56% rename from include/IECoreHoudini/FnParameterisedHolder.h rename to include/IECoreHoudini/Export.h index a797471ded..71f27931af 100644 --- a/include/IECoreHoudini/FnParameterisedHolder.h +++ b/include/IECoreHoudini/Export.h @@ -1,9 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // -// Copyright 2010 Dr D Studios Pty Limited (ACN 127 184 954) (Dr. D Studios), -// its affiliates and/or its licensors. -// -// Copyright (c) 2010-2013, Image Engine Design Inc. All rights reserved. +// Copyright (c) 2019, Image Engine Design Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are @@ -35,47 +32,15 @@ // ////////////////////////////////////////////////////////////////////////// -#ifndef IECOREHOUDINI_FNPARAMETERISEDHOLDER_H -#define IECOREHOUDINI_FNPARAMETERISEDHOLDER_H - -#include "OP/OP_Node.h" - -#include "IECoreHoudini/NodeHandle.h" -#include "IECoreHoudini/ParameterisedHolderInterface.h" - -namespace IECoreHoudini -{ - -/// \todo: This class is a bit funny. Can this all be moved to the bindings like in IECoreMaya? -class FnParameterisedHolder -{ - public : - - FnParameterisedHolder( OP_Node *node=0 ); - virtual ~FnParameterisedHolder(); - - bool hasParameterised(); - - void setParameterised( IECore::RunTimeTypedPtr p ); - void setParameterised( const std::string &className, int classVerison, const std::string &seachPathEnvVar ); - - /// Sets the values of the parameters of the held Parameterised object - /// to reflect the values of the attributes of the node. - /// \todo: add setNodeValues as well - void setParameterisedValues( double time ); - - IECore::RunTimeTypedPtr getParameterised(); - - private : - - bool hasHolder(); - void setHolder( OP_Node *node ); - ParameterisedHolderInterface *getHolder( OP_Node *node ); - - NodeHandle m_handle; +#ifndef IECOREHOUDINI_EXPORT_H +#define IECOREHOUDINI_EXPORT_H -}; +#include "IECore/Export.h" -} +#ifdef IECoreHoudini_EXPORTS + #define IECOREHOUDINI_API IECORE_EXPORT +#else + #define IECOREHOUDINI_API IECORE_IMPORT +#endif -#endif // IECOREHOUDINI_FNPARAMETERISEDHOLDER_H +#endif // #ifndef IECOREHOUDINI_EXPORT_H diff --git a/include/IECoreHoudini/FromHoudiniCompoundObjectConverter.h b/include/IECoreHoudini/FromHoudiniCompoundObjectConverter.h index 0cd826755a..8b2b657b25 100644 --- a/include/IECoreHoudini/FromHoudiniCompoundObjectConverter.h +++ b/include/IECoreHoudini/FromHoudiniCompoundObjectConverter.h @@ -35,10 +35,10 @@ #ifndef IECOREHOUDINI_FROMHOUDINICOMPOUNDOBJECTCONVERTER_H #define IECOREHOUDINI_FROMHOUDINICOMPOUNDOBJECTCONVERTER_H -#include "IECore/Object.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECore/Object.h" namespace IECoreHoudini { @@ -46,7 +46,7 @@ namespace IECoreHoudini /// Converter which converts from a Houdini GU_Detail to an IECore::CompoundObject, /// maintaining the name mappings of the various GU_CortexPrimitives held by the detail. /// The converter is exclusive for details that contain GU_CortexPrimitives only. -class FromHoudiniCompoundObjectConverter : public IECoreHoudini::FromHoudiniGeometryConverter +class IECOREHOUDINI_API FromHoudiniCompoundObjectConverter : public IECoreHoudini::FromHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniConverter.h b/include/IECoreHoudini/FromHoudiniConverter.h index 9035231380..9733149fc9 100644 --- a/include/IECoreHoudini/FromHoudiniConverter.h +++ b/include/IECoreHoudini/FromHoudiniConverter.h @@ -35,17 +35,18 @@ #ifndef IE_COREHOUDINI_FROMHOUDINICONVERTER_H #define IE_COREHOUDINI_FROMHOUDINICONVERTER_H -#include "IECore/ToCoreConverter.h" - +#include "IECoreHoudini/Export.h" #include "IECoreHoudini/TypeIds.h" +#include "IECore/ToCoreConverter.h" + namespace IECoreHoudini { /// The FromHoudiniConverter class forms an abstract base class for /// all classes able to perform some kind of conversion /// from a Houdini datatype to an IECore datatype. -class FromHoudiniConverter : public IECore::ToCoreConverter +class IECOREHOUDINI_API FromHoudiniConverter : public IECore::ToCoreConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniCortexObjectConverter.h b/include/IECoreHoudini/FromHoudiniCortexObjectConverter.h index d4c6cbb354..a80242737b 100644 --- a/include/IECoreHoudini/FromHoudiniCortexObjectConverter.h +++ b/include/IECoreHoudini/FromHoudiniCortexObjectConverter.h @@ -35,17 +35,17 @@ #ifndef IECOREHOUDINI_FROMHOUDINICORTEXOBJECTCONVERTER_H #define IECOREHOUDINI_FROMHOUDINICORTEXOBJECTCONVERTER_H -#include "IECore/Object.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECore/Object.h" namespace IECoreHoudini { /// Converter which converts from a Houdini GU_Detail to an IECore::Object. This converter /// extracts only a single IECore::Object from a single GU_CortexPrimitive in the detail. -class FromHoudiniCortexObjectConverter : public IECoreHoudini::FromHoudiniGeometryConverter +class IECOREHOUDINI_API FromHoudiniCortexObjectConverter : public IECoreHoudini::FromHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniCurvesConverter.h b/include/IECoreHoudini/FromHoudiniCurvesConverter.h index c6c2c01b0d..70642d39fd 100644 --- a/include/IECoreHoudini/FromHoudiniCurvesConverter.h +++ b/include/IECoreHoudini/FromHoudiniCurvesConverter.h @@ -35,16 +35,16 @@ #ifndef IECOREHOUDINI_FROMHOUDINICURVESCONVERTER_H #define IECOREHOUDINI_FROMHOUDINICURVESCONVERTER_H -#include "IECoreScene/CurvesPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/CurvesPrimitive.h" namespace IECoreHoudini { /// Converter which converts from a Houdini GU_Detail to an IECore::CurvesPrimitive. -class FromHoudiniCurvesConverter : public IECoreHoudini::FromHoudiniGeometryConverter +class IECOREHOUDINI_API FromHoudiniCurvesConverter : public IECoreHoudini::FromHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniGeometryConverter.h b/include/IECoreHoudini/FromHoudiniGeometryConverter.h index 30551b56b7..f86486bf20 100644 --- a/include/IECoreHoudini/FromHoudiniGeometryConverter.h +++ b/include/IECoreHoudini/FromHoudiniGeometryConverter.h @@ -38,23 +38,23 @@ #ifndef IECOREHOUDINI_FROMHOUDINIGEOMETRYCONVERTER_H #define IECOREHOUDINI_FROMHOUDINIGEOMETRYCONVERTER_H -#include "GA/GA_AttributeRef.h" -#include "GU/GU_Detail.h" -#include "GU/GU_DetailHandle.h" -#include "SOP/SOP_Node.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" -#include "IECore/SimpleTypedData.h" -#include "IECore/SimpleTypedParameter.h" -#include "IECore/VectorTypedData.h" -#include "IECore/InternedString.h" +#include "IECoreHoudini/FromHoudiniConverter.h" +#include "IECoreHoudini/TypeIds.h" #include "IECoreScene/Primitive.h" -#include "IECoreHoudini/TypeIds.h" -#include "IECoreHoudini/FromHoudiniConverter.h" +#include "IECore/InternedString.h" +#include "IECore/SimpleTypedData.h" +#include "IECore/SimpleTypedParameter.h" +#include "IECore/VectorTypedData.h" -#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" // to enable friend declaration for bindFromHoudiniGeometryConverter() +#include "GA/GA_AttributeRef.h" +#include "GU/GU_Detail.h" +#include "GU/GU_DetailHandle.h" +#include "SOP/SOP_Node.h" +#include "UT/UT_StringMMPattern.h" namespace IECoreHoudini { @@ -64,7 +64,7 @@ IE_CORE_FORWARDDECLARE( FromHoudiniGeometryConverter ); /// The FromHoudiniGeometryConverter class forms a base class for all classes able to perform /// some kind of conversion from a Houdini GU_Detail to an IECore::Object. The most common use /// is conversion to an IECore::Primitive, but any Object could be supported. -class FromHoudiniGeometryConverter : public FromHoudiniConverter +class IECOREHOUDINI_API FromHoudiniGeometryConverter : public FromHoudiniConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniGeometryConverter.inl b/include/IECoreHoudini/FromHoudiniGeometryConverter.inl index ed4a16e38f..8e1cd96545 100644 --- a/include/IECoreHoudini/FromHoudiniGeometryConverter.inl +++ b/include/IECoreHoudini/FromHoudiniGeometryConverter.inl @@ -35,12 +35,12 @@ #ifndef IECOREHOUDINI_FROMHOUDINIGEOMETRYCONVERTER_INL #define IECOREHOUDINI_FROMHOUDINIGEOMETRYCONVERTER_INL -#include "GEO/GEO_Vertex.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" #include "IECore/DespatchTypedData.h" #include "IECore/VectorTraits.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "GEO/GEO_Vertex.h" namespace IECoreHoudini { diff --git a/include/IECoreHoudini/FromHoudiniPointsConverter.h b/include/IECoreHoudini/FromHoudiniPointsConverter.h index d924d746f9..c33001a9e8 100644 --- a/include/IECoreHoudini/FromHoudiniPointsConverter.h +++ b/include/IECoreHoudini/FromHoudiniPointsConverter.h @@ -35,16 +35,16 @@ #ifndef IE_COREHOUDINI_FROMHOUDINIPOINTSCONVERTER_H #define IE_COREHOUDINI_FROMHOUDINIPOINTSCONVERTER_H -#include "IECoreScene/PointsPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/PointsPrimitive.h" namespace IECoreHoudini { /// Converter which converts from a Houdini GU_Detail to an IECore::PointsPrimitive -class FromHoudiniPointsConverter : public IECoreHoudini::FromHoudiniGeometryConverter +class IECOREHOUDINI_API FromHoudiniPointsConverter : public IECoreHoudini::FromHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/FromHoudiniPolygonsConverter.h b/include/IECoreHoudini/FromHoudiniPolygonsConverter.h index 2ce4143160..00c6876f40 100644 --- a/include/IECoreHoudini/FromHoudiniPolygonsConverter.h +++ b/include/IECoreHoudini/FromHoudiniPolygonsConverter.h @@ -35,16 +35,16 @@ #ifndef IE_COREHOUDINI_FROMHOUDINIPOLYGONSCONVERTER_H #define IE_COREHOUDINI_FROMHOUDINIPOLYGONSCONVERTER_H -#include "IECoreScene/MeshPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/MeshPrimitive.h" namespace IECoreHoudini { /// Converter which converts from a Houdini GU_Detail to an IECore::MeshPrimitive -class FromHoudiniPolygonsConverter : public IECoreHoudini::FromHoudiniGeometryConverter +class IECOREHOUDINI_API FromHoudiniPolygonsConverter : public IECoreHoudini::FromHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/GEO_CobIOTranslator.h b/include/IECoreHoudini/GEO_CobIOTranslator.h index d34a2ffafe..5cfcc07e6b 100644 --- a/include/IECoreHoudini/GEO_CobIOTranslator.h +++ b/include/IECoreHoudini/GEO_CobIOTranslator.h @@ -35,18 +35,20 @@ #ifndef IECOREHOUDINI_GEOCOBIOTRANSLATOR_H #define IECOREHOUDINI_GEOCOBIOTRANSLATOR_H -#include +#include "IECoreHoudini/Export.h" +#include "GA/GA_Stat.h" #include "GEO/GEO_IOTranslator.h" #include "GU/GU_Detail.h" #include "UT/UT_IStream.h" -#include "GA/GA_Stat.h" + +#include namespace IECoreHoudini { /// An IO Translator for saving and loading .cob files using a Houdini File SOP -class GEO_CobIOTranslator : public GEO_IOTranslator +class IECOREHOUDINI_API GEO_CobIOTranslator : public GEO_IOTranslator { public : diff --git a/include/IECoreHoudini/GEO_CortexPrimitive.h b/include/IECoreHoudini/GEO_CortexPrimitive.h index 01097c1e28..96392090fd 100644 --- a/include/IECoreHoudini/GEO_CortexPrimitive.h +++ b/include/IECoreHoudini/GEO_CortexPrimitive.h @@ -35,16 +35,18 @@ #ifndef IECOREHOUDINI_GEOCORTEXPRIMITIVE_H #define IECOREHOUDINI_GEOCORTEXPRIMITIVE_H +#include "IECoreHoudini/CoreHoudiniVersion.h" +#include "IECoreHoudini/Export.h" + +#include "IECore/Object.h" + #include "GA/GA_Defines.h" #include "GA/GA_LoadMap.h" +#include "GA/GA_Primitive.h" +#include "GEO/GEO_Point.h" #include "GEO/GEO_Primitive.h" #include "GU/GU_Detail.h" -#include "GEO/GEO_Point.h" -#include "OP/OP_Context.h" -#include "OP/OP_NodeInfoParms.h" -#include "UT/UT_Version.h" -#include "UT/UT_ParallelUtil.h" -#include "GA/GA_Primitive.h" + #if UT_MAJOR_VERSION_INT >= 14 typedef GEO_ConvertParms ConvertParms; @@ -58,14 +60,17 @@ typedef GU_ConvertParms ConvertParms; #endif -#include "IECoreHoudini/CoreHoudiniVersion.h" -#include "IECore/Object.h" + +#include "OP/OP_Context.h" +#include "OP/OP_NodeInfoParms.h" +#include "UT/UT_ParallelUtil.h" +#include "UT/UT_Version.h" namespace IECoreHoudini { /// Wrapper for hosting IECore::Objects natively in Houdini -class GEO_CortexPrimitive : public GEO_Primitive +class IECOREHOUDINI_API GEO_CortexPrimitive : public GEO_Primitive { public : diff --git a/include/IECoreHoudini/GR_CortexPrimitive.h b/include/IECoreHoudini/GR_CortexPrimitive.h index 5a83ee048e..6c258c4005 100644 --- a/include/IECoreHoudini/GR_CortexPrimitive.h +++ b/include/IECoreHoudini/GR_CortexPrimitive.h @@ -32,18 +32,16 @@ // ////////////////////////////////////////////////////////////////////////// -/// GR_Primitives are used in Houdini 12.5, but do not exist in earlier versions. -/// Check GR_Cortex.h for Cortex viewport rendering in Houdini 12.0. -#include "UT/UT_Version.h" -#if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5 - #ifndef IECOREHOUDINI_GRCORTEXPRIMITIVE_H #define IECOREHOUDINI_GRCORTEXPRIMITIVE_H -#include "GR/GR_Primitive.h" +#include "IECoreHoudini/Export.h" #include "IECoreScene/Renderable.h" +#include "GR/GR_Primitive.h" +#include "UT/UT_Version.h" + // We can't include any IECoreGL files here, because it // causes an issue with gl/glew initialization order. namespace IECoreGL @@ -58,7 +56,7 @@ namespace IECoreHoudini { /// Wrapper for drawing GU_CortexPrimitives in OpenGL -class GR_CortexPrimitive : public GR_Primitive +class IECOREHOUDINI_API GR_CortexPrimitive : public GR_Primitive { public : @@ -118,5 +116,3 @@ class GR_CortexPrimitive : public GR_Primitive } // namespace IECoreHoudini #endif // IECOREHOUDINI_GRCORTEXPRIMITIVE_H - -#endif // 12.5 or later diff --git a/include/IECoreHoudini/GUI_CortexPrimitiveHook.h b/include/IECoreHoudini/GUI_CortexPrimitiveHook.h index 34973c332b..d663fb53e1 100644 --- a/include/IECoreHoudini/GUI_CortexPrimitiveHook.h +++ b/include/IECoreHoudini/GUI_CortexPrimitiveHook.h @@ -32,21 +32,18 @@ // ////////////////////////////////////////////////////////////////////////// -/// GUI_PrimitiveHooks are used in Houdini 12.5, but do not exist in earlier versions. -/// Check GR_Cortex.h for Cortex viewport rendering in Houdini 12.0. -#include "UT/UT_Version.h" -#if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5 - #ifndef IECOREHOUDINI_GUICORTEXPRIMITIVEHOOK_H #define IECOREHOUDINI_GUICORTEXPRIMITIVEHOOK_H +#include "IECoreHoudini/Export.h" + #include "GUI/GUI_PrimitiveHook.h" namespace IECoreHoudini { /// Hook for drawing GU_CortexPrimitives in OpenGL -class GUI_CortexPrimitiveHook : public GUI_PrimitiveHook +class IECOREHOUDINI_API GUI_CortexPrimitiveHook : public GUI_PrimitiveHook { public : @@ -60,6 +57,3 @@ class GUI_CortexPrimitiveHook : public GUI_PrimitiveHook } // namespace IECoreHoudini #endif // IECOREHOUDINI_GUICORTEXPRIMITIVEHOOK_H - -#endif // 12.5 or later - diff --git a/include/IECoreHoudini/GU_CortexPrimitive.h b/include/IECoreHoudini/GU_CortexPrimitive.h index c8f9b180fc..376c3a536f 100644 --- a/include/IECoreHoudini/GU_CortexPrimitive.h +++ b/include/IECoreHoudini/GU_CortexPrimitive.h @@ -33,20 +33,19 @@ ////////////////////////////////////////////////////////////////////////// #include "UT/UT_Version.h" - #if UT_MAJOR_VERSION_INT < 14 #ifndef IECOREHOUDINI_GUCORTEXPRIMITIVE_H #define IECOREHOUDINI_GUCORTEXPRIMITIVE_H -#include "GU/GU_Prim.h" -#include "GU/GU_Detail.h" -#include "OP/OP_Context.h" -#include "OP/OP_NodeInfoParms.h" +#include "IECoreHoudini/GEO_CortexPrimitive.h" #include "IECore/Object.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" +#include "GU/GU_Detail.h" +#include "GU/GU_Prim.h" +#include "OP/OP_Context.h" +#include "OP/OP_NodeInfoParms.h" namespace IECoreHoudini { diff --git a/include/IECoreHoudini/LiveScene.h b/include/IECoreHoudini/LiveScene.h index 2dfa507f4e..7ec1ab396f 100644 --- a/include/IECoreHoudini/LiveScene.h +++ b/include/IECoreHoudini/LiveScene.h @@ -35,16 +35,17 @@ #ifndef IECOREHOUDINI_LIVESCENE_H #define IECOREHOUDINI_LIVESCENE_H -#include "boost/shared_ptr.hpp" -#include "boost/function.hpp" +#include "IECoreHoudini/DetailSplitter.h" +#include "IECoreHoudini/Export.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/SceneInterface.h" #include "OP/OP_Node.h" #include "UT/UT_String.h" -#include "IECoreScene/SceneInterface.h" - -#include "IECoreHoudini/DetailSplitter.h" -#include "IECoreHoudini/TypeIds.h" +#include "boost/function.hpp" +#include "boost/shared_ptr.hpp" namespace IECoreHoudini { @@ -54,7 +55,7 @@ IE_CORE_FORWARDDECLARE( LiveScene ); /// A read-only class for representing a live Houdini scene as an IECore::SceneInterface /// Note that this class treats time by SceneInterface standards, starting at Frame 0, /// as opposed to Houdini standards, which start at Frame 1. -class LiveScene : public IECoreScene::SceneInterface +class IECOREHOUDINI_API LiveScene : public IECoreScene::SceneInterface { public : diff --git a/include/IECoreHoudini/MessageHandler.h b/include/IECoreHoudini/MessageHandler.h index 7597127f87..b80e37b147 100644 --- a/include/IECoreHoudini/MessageHandler.h +++ b/include/IECoreHoudini/MessageHandler.h @@ -35,16 +35,18 @@ #ifndef IECOREHOUDINI_MESSAGEHANDLER_H #define IECOREHOUDINI_MESSAGEHANDLER_H -#include "boost/function.hpp" +#include "IECoreHoudini/Export.h" #include "IECore/MessageHandler.h" +#include "boost/function.hpp" + namespace IECoreHoudini { /// A generic MessageHandler for Houdini. /// \todo: make this threadsafe -class MessageHandler : public IECore::MessageHandler +class IECOREHOUDINI_API MessageHandler : public IECore::MessageHandler { public : diff --git a/include/IECoreHoudini/NodeHandle.h b/include/IECoreHoudini/NodeHandle.h index 7216c39789..90144577e8 100644 --- a/include/IECoreHoudini/NodeHandle.h +++ b/include/IECoreHoudini/NodeHandle.h @@ -35,10 +35,12 @@ #ifndef IE_COREHOUDINI_NODEHANDLE_H #define IE_COREHOUDINI_NODEHANDLE_H -#include "boost/shared_ptr.hpp" +#include "IECoreHoudini/Export.h" -#include "OP/OP_Node.h" #include "HOM/HOM_Node.h" +#include "OP/OP_Node.h" + +#include "boost/shared_ptr.hpp" namespace IECoreHoudini { @@ -46,7 +48,7 @@ namespace IECoreHoudini /// The NodeHandle is a class that may be used to verify the existence of an OP_Node. /// Use a NodeHandle if you want a raw pointer to an OP_Node, but are concerned about /// the lifespan of that OP_Node. -class NodeHandle +class IECOREHOUDINI_API NodeHandle { public : diff --git a/include/IECoreHoudini/OBJ_SceneCacheGeometry.h b/include/IECoreHoudini/OBJ_SceneCacheGeometry.h index a928bde1f0..c6bf20571c 100644 --- a/include/IECoreHoudini/OBJ_SceneCacheGeometry.h +++ b/include/IECoreHoudini/OBJ_SceneCacheGeometry.h @@ -35,15 +35,15 @@ #ifndef IECOREHOUDINI_OBJSCENECACHEGEOMETRY_H #define IECOREHOUDINI_OBJSCENECACHEGEOMETRY_H -#include "OBJ/OBJ_Geometry.h" - #include "IECoreHoudini/OBJ_SceneCacheNode.h" +#include "OBJ/OBJ_Geometry.h" + namespace IECoreHoudini { /// OBJ for loading a single transform and leaf Objects from an IECore::SceneCache -class OBJ_SceneCacheGeometry : public OBJ_SceneCacheNode +class IECOREHOUDINI_API OBJ_SceneCacheGeometry : public OBJ_SceneCacheNode { public : diff --git a/include/IECoreHoudini/OBJ_SceneCacheNode.h b/include/IECoreHoudini/OBJ_SceneCacheNode.h index 7d5dab2e10..0424f737ff 100644 --- a/include/IECoreHoudini/OBJ_SceneCacheNode.h +++ b/include/IECoreHoudini/OBJ_SceneCacheNode.h @@ -35,12 +35,12 @@ #ifndef IECOREHOUDINI_OBJSCENECACHENODE_H #define IECOREHOUDINI_OBJSCENECACHENODE_H -#include "OP/OP_Node.h" -#include "OBJ/OBJ_Node.h" +#include "IECoreHoudini/SceneCacheNode.h" #include "IECoreScene/SceneCache.h" -#include "IECoreHoudini/SceneCacheNode.h" +#include "OBJ/OBJ_Node.h" +#include "OP/OP_Node.h" namespace IECoreHoudini { @@ -48,7 +48,7 @@ namespace IECoreHoudini /// Abstract base class for all OBJ SceneCacheNodes. /// See OBJ_SceneCacheGeometry or OBJ_SceneCacheTransform for specific implementations. template -class OBJ_SceneCacheNode : public SceneCacheNode +class IECOREHOUDINI_API OBJ_SceneCacheNode : public SceneCacheNode { public : diff --git a/include/IECoreHoudini/OBJ_SceneCacheTransform.h b/include/IECoreHoudini/OBJ_SceneCacheTransform.h index 978eb3f29d..1c78c6e710 100644 --- a/include/IECoreHoudini/OBJ_SceneCacheTransform.h +++ b/include/IECoreHoudini/OBJ_SceneCacheTransform.h @@ -35,19 +35,19 @@ #ifndef IECOREHOUDINI_OBJSCENECACHETRANSFORM_H #define IECOREHOUDINI_OBJSCENECACHETRANSFORM_H -#include "OBJ/OBJ_SubNet.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/LiveScene.h" +#include "IECoreHoudini/OBJ_SceneCacheNode.h" #include "IECoreScene/LinkedScene.h" -#include "IECoreHoudini/LiveScene.h" -#include "IECoreHoudini/OBJ_SceneCacheNode.h" +#include "OBJ/OBJ_SubNet.h" +#include "UT/UT_StringMMPattern.h" namespace IECoreHoudini { /// OBJ for loading a transform or expanding a hierarchy from an IECore::SceneCache -class OBJ_SceneCacheTransform : public OBJ_SceneCacheNode +class IECOREHOUDINI_API OBJ_SceneCacheTransform : public OBJ_SceneCacheNode { public : diff --git a/include/IECoreHoudini/ParameterisedHolder.h b/include/IECoreHoudini/ParameterisedHolder.h index f5598712b5..023d93f1e1 100644 --- a/include/IECoreHoudini/ParameterisedHolder.h +++ b/include/IECoreHoudini/ParameterisedHolder.h @@ -38,19 +38,21 @@ #ifndef IECOREHOUDINI_PARAMETERISEDHOLDER_H #define IECOREHOUDINI_PARAMETERISEDHOLDER_H -#include "IECore/Parameter.h" +#include "IECoreHoudini/MessageHandler.h" +#include "IECoreHoudini/ParameterisedHolderInterface.h" + #include "IECore/CompoundParameter.h" #include "IECore/MessageHandler.h" +#include "IECore/Parameter.h" -#include "IECoreHoudini/MessageHandler.h" -#include "IECoreHoudini/ParameterisedHolderInterface.h" +#include "OP/OP_Network.h" namespace IECoreHoudini { /// Class representing an OP node acting as a holder for the abstract Parameterised class. template -class ParameterisedHolder : public BaseType, public ParameterisedHolderInterface +class IECOREHOUDINI_API ParameterisedHolder : public BaseType, public ParameterisedHolderInterface { public : diff --git a/include/IECoreHoudini/ParameterisedHolderInterface.h b/include/IECoreHoudini/ParameterisedHolderInterface.h index d91e25148a..659afb2c71 100644 --- a/include/IECoreHoudini/ParameterisedHolderInterface.h +++ b/include/IECoreHoudini/ParameterisedHolderInterface.h @@ -35,15 +35,17 @@ #ifndef IECOREHOUDINI_PARAMETERISEDHOLDERINTERFACE_H #define IECOREHOUDINI_PARAMETERISEDHOLDERINTERFACE_H -#include "IECore/Parameterised.h" +#include "IECoreHoudini/Export.h" + #include "IECore/Parameter.h" +#include "IECore/Parameterised.h" namespace IECoreHoudini { /// A base class from which nodes to hold IECore::ParameterisedInterface objects /// should multiply inherit (for example, ParameterisedHolder). -class ParameterisedHolderInterface +class IECOREHOUDINI_API ParameterisedHolderInterface { public : diff --git a/include/IECoreHoudini/ROP_SceneCacheWriter.h b/include/IECoreHoudini/ROP_SceneCacheWriter.h index 6c0c5bce4d..6501400565 100644 --- a/include/IECoreHoudini/ROP_SceneCacheWriter.h +++ b/include/IECoreHoudini/ROP_SceneCacheWriter.h @@ -35,17 +35,19 @@ #ifndef IECOREHOUDINI_ROPSCENECACHEWRITER_H #define IECOREHOUDINI_ROPSCENECACHEWRITER_H -#include "ROP/ROP_Node.h" +#include "IECoreHoudini/Export.h" +#include "IECoreHoudini/LiveScene.h" +#include "IECoreHoudini/SceneCacheNode.h" #include "IECoreScene/SceneInterface.h" -#include "IECoreHoudini/SceneCacheNode.h" +#include "ROP/ROP_Node.h" namespace IECoreHoudini { /// Class for writing SceneCache files based on an existing Houdini hierarchy -class ROP_SceneCacheWriter : public ROP_Node +class IECOREHOUDINI_API ROP_SceneCacheWriter : public ROP_Node { public : diff --git a/include/IECoreHoudini/SOP_CortexConverter.h b/include/IECoreHoudini/SOP_CortexConverter.h index c3ce1a1833..249c5a71fd 100644 --- a/include/IECoreHoudini/SOP_CortexConverter.h +++ b/include/IECoreHoudini/SOP_CortexConverter.h @@ -38,14 +38,16 @@ #ifndef IECOREHOUDINI_SOPCORTEXCONVERTER_H #define IECOREHOUDINI_SOPCORTEXCONVERTER_H -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/Export.h" + #include "PRM/PRM_Name.h" +#include "SOP/SOP_Node.h" namespace IECoreHoudini { /// SOP class for converting between GU_CortexPrimitives and native Houdini geometry. -class SOP_CortexConverter : public SOP_Node +class IECOREHOUDINI_API SOP_CortexConverter : public SOP_Node { public : diff --git a/include/IECoreHoudini/SOP_OpHolder.h b/include/IECoreHoudini/SOP_OpHolder.h index c670847239..eece693bfb 100644 --- a/include/IECoreHoudini/SOP_OpHolder.h +++ b/include/IECoreHoudini/SOP_OpHolder.h @@ -38,10 +38,10 @@ #ifndef IECOREHOUDINI_SOPOPHOLDER_H #define IECOREHOUDINI_SOPOPHOLDER_H -#include "IECore/Op.h" - #include "IECoreHoudini/SOP_ParameterisedHolder.h" +#include "IECore/Op.h" + namespace IECoreHoudini { @@ -50,7 +50,7 @@ namespace IECoreHoudini /// to the output geometry. The held op will operate on any named shaped in the primary input /// which matches the nameFilter. Non-matching shapes will be passed through without modification. /// The other inputs will be treated as they normally would by SOP_ParameterisedHolder. -class SOP_OpHolder : public SOP_ParameterisedHolder +class IECOREHOUDINI_API SOP_OpHolder : public SOP_ParameterisedHolder { public : diff --git a/include/IECoreHoudini/SOP_ParameterisedHolder.h b/include/IECoreHoudini/SOP_ParameterisedHolder.h index 3e255af5f9..adb1932d00 100644 --- a/include/IECoreHoudini/SOP_ParameterisedHolder.h +++ b/include/IECoreHoudini/SOP_ParameterisedHolder.h @@ -38,19 +38,19 @@ #ifndef IECOREHOUDINI_SOPPARAMETERISEDHOLDER_H #define IECOREHOUDINI_SOPPARAMETERISEDHOLDER_H -#include "SOP/SOP_Node.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/ParameterisedHolder.h" #include "IECore/CompoundParameter.h" #include "IECore/ObjectParameter.h" -#include "IECoreHoudini/ParameterisedHolder.h" +#include "SOP/SOP_Node.h" +#include "UT/UT_StringMMPattern.h" namespace IECoreHoudini { /// Class representing a SOP node acting as a holder for the abstract Parameterised class. -class SOP_ParameterisedHolder : public ParameterisedHolder +class IECOREHOUDINI_API SOP_ParameterisedHolder : public ParameterisedHolder { public : diff --git a/include/IECoreHoudini/SOP_SceneCacheSource.h b/include/IECoreHoudini/SOP_SceneCacheSource.h index e75f16a0b8..55fb9f9666 100644 --- a/include/IECoreHoudini/SOP_SceneCacheSource.h +++ b/include/IECoreHoudini/SOP_SceneCacheSource.h @@ -35,19 +35,19 @@ #ifndef IECOREHOUDINI_SOPSCENECACHESOURCE_H #define IECOREHOUDINI_SOPSCENECACHESOURCE_H -#include "SOP/SOP_Node.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/SceneCacheNode.h" -#include "IECoreScene/SceneCache.h" #include "IECoreScene/MatrixTransform.h" +#include "IECoreScene/SceneCache.h" -#include "IECoreHoudini/SceneCacheNode.h" +#include "SOP/SOP_Node.h" +#include "UT/UT_StringMMPattern.h" namespace IECoreHoudini { /// SOP for loading an IECore::SceneCache from disk -class SOP_SceneCacheSource : public SceneCacheNode +class IECOREHOUDINI_API SOP_SceneCacheSource : public SceneCacheNode { public : diff --git a/include/IECoreHoudini/SOP_SceneCacheTransform.h b/include/IECoreHoudini/SOP_SceneCacheTransform.h index 1915d1962b..e2a9ad2b70 100644 --- a/include/IECoreHoudini/SOP_SceneCacheTransform.h +++ b/include/IECoreHoudini/SOP_SceneCacheTransform.h @@ -35,17 +35,17 @@ #ifndef IECOREHOUDINI_SOPSCENECACHETRANSFORM_H #define IECOREHOUDINI_SOPSCENECACHETRANSFORM_H -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/SceneCacheNode.h" #include "IECoreScene/SceneCache.h" -#include "IECoreHoudini/SceneCacheNode.h" +#include "SOP/SOP_Node.h" namespace IECoreHoudini { /// SOP for loading an IECore::SceneCache from disk -class SOP_SceneCacheTransform : public SceneCacheNode +class IECOREHOUDINI_API SOP_SceneCacheTransform : public SceneCacheNode { public : diff --git a/include/IECoreHoudini/SceneCacheNode.h b/include/IECoreHoudini/SceneCacheNode.h index b3d461920c..daf138a427 100644 --- a/include/IECoreHoudini/SceneCacheNode.h +++ b/include/IECoreHoudini/SceneCacheNode.h @@ -35,15 +35,18 @@ #ifndef IECOREHOUDINI_SCENECACHENODE_H #define IECOREHOUDINI_SCENECACHENODE_H -#include "boost/logic/tribool.hpp" +#include "IECoreHoudini/Export.h" -#include "tbb/mutex.h" +#include "IECoreScene/SceneCache.h" + +#include "IECore/LRUCache.h" #include "OP/OP_Operator.h" #include "PRM/PRM_Name.h" -#include "IECore/LRUCache.h" -#include "IECoreScene/SceneCache.h" +#include "boost/logic/tribool.hpp" + +#include "tbb/mutex.h" namespace IECoreHoudini { @@ -51,7 +54,7 @@ namespace IECoreHoudini /// Abstract class for using an IECore::SceneCache in Houdini. /// Derived nodes will do something useful with the data. template -class SceneCacheNode : public BaseType +class IECOREHOUDINI_API SceneCacheNode : public BaseType { public : diff --git a/include/IECoreHoudini/ToHoudiniAttribConverter.h b/include/IECoreHoudini/ToHoudiniAttribConverter.h index 77ca26bfe4..4481884888 100644 --- a/include/IECoreHoudini/ToHoudiniAttribConverter.h +++ b/include/IECoreHoudini/ToHoudiniAttribConverter.h @@ -35,13 +35,14 @@ #ifndef IECOREHOUDINI_TOHOUDINIATTRIBCONVERTER_H #define IECOREHOUDINI_TOHOUDINIATTRIBCONVERTER_H -#include "GA/GA_AttributeRef.h" -#include "GU/GU_Detail.h" +#include "IECoreHoudini/Export.h" +#include "IECoreHoudini/ToHoudiniConverter.h" +#include "IECoreHoudini/TypeIds.h" #include "IECore/Data.h" -#include "IECoreHoudini/TypeIds.h" -#include "IECoreHoudini/ToHoudiniConverter.h" +#include "GA/GA_AttributeRef.h" +#include "GU/GU_Detail.h" namespace IECoreHoudini { @@ -51,7 +52,7 @@ IE_CORE_FORWARDDECLARE( ToHoudiniAttribConverter ); /// The ToHoudiniAttribConverter class forms an abstract base class for all classes /// able to perform some kind of conversion from IECore::Data to a Houdini GB_Attribute. /// The resulting GB_Attribute will be transferred onto the provided GU_Detail. -class ToHoudiniAttribConverter : public ToHoudiniConverter +class IECOREHOUDINI_API ToHoudiniAttribConverter : public ToHoudiniConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniAttribConverter.inl b/include/IECoreHoudini/ToHoudiniAttribConverter.inl index 6db6bb40d8..1a2578f236 100644 --- a/include/IECoreHoudini/ToHoudiniAttribConverter.inl +++ b/include/IECoreHoudini/ToHoudiniAttribConverter.inl @@ -35,12 +35,12 @@ #ifndef IECOREHOUDINI_TOHOUDINIATTRIBCONVERTER_INL #define IECOREHOUDINI_TOHOUDINIATTRIBCONVERTER_INL +#include "IECoreHoudini/ToHoudiniAttribConverter.h" + #include "IECore/CompoundData.h" #include "IECore/CompoundParameter.h" #include "IECore/SimpleTypedData.h" -#include "IECoreHoudini/ToHoudiniAttribConverter.h" - namespace IECoreHoudini { diff --git a/include/IECoreHoudini/ToHoudiniCompoundObjectConverter.h b/include/IECoreHoudini/ToHoudiniCompoundObjectConverter.h index f8ac76b7a3..008e1d2298 100644 --- a/include/IECoreHoudini/ToHoudiniCompoundObjectConverter.h +++ b/include/IECoreHoudini/ToHoudiniCompoundObjectConverter.h @@ -35,15 +35,15 @@ #ifndef IECOREHOUDINI_TOHOUDINICOMPOUNDOBJECTCONVERTER_H #define IECOREHOUDINI_TOHOUDINICOMPOUNDOBJECTCONVERTER_H -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" namespace IECoreHoudini { /// Converter which converts from an IECore::CompoundObject to a Houdini GU_Detail. This converter /// unpacks the CompoundObject, creating a GU_CortexPrimitive for each member and naming it accordingly. -class ToHoudiniCompoundObjectConverter : public IECoreHoudini::ToHoudiniGeometryConverter +class IECOREHOUDINI_API ToHoudiniCompoundObjectConverter : public IECoreHoudini::ToHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniConverter.h b/include/IECoreHoudini/ToHoudiniConverter.h index 2ea893acf4..148b86a907 100644 --- a/include/IECoreHoudini/ToHoudiniConverter.h +++ b/include/IECoreHoudini/ToHoudiniConverter.h @@ -35,16 +35,17 @@ #ifndef IECOREHOUDINI_TOHOUDINICONVERTER_H #define IECOREHOUDINI_TOHOUDINICONVERTER_H -#include "IECore/FromCoreConverter.h" - +#include "IECoreHoudini/Export.h" #include "IECoreHoudini/TypeIds.h" +#include "IECore/FromCoreConverter.h" + namespace IECoreHoudini { /// A base class for all classes which convert from an IECore datatype /// to a Houdini datatype. -class ToHoudiniConverter : public IECore::FromCoreConverter +class IECOREHOUDINI_API ToHoudiniConverter : public IECore::FromCoreConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniCortexObjectConverter.h b/include/IECoreHoudini/ToHoudiniCortexObjectConverter.h index 48f7553463..22ee6fc723 100644 --- a/include/IECoreHoudini/ToHoudiniCortexObjectConverter.h +++ b/include/IECoreHoudini/ToHoudiniCortexObjectConverter.h @@ -35,15 +35,15 @@ #ifndef IECOREHOUDINI_TOHOUDINICORTEXOBJECTCONVERTER_H #define IECOREHOUDINI_TOHOUDINICORTEXOBJECTCONVERTER_H -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" namespace IECoreHoudini { /// Converter which converts from an IECore::Object to a Houdini GU_Detail. This converter /// creates a single GU_CortexPrimitive containing the Object, and adds it to the detail. -class ToHoudiniCortexObjectConverter : public IECoreHoudini::ToHoudiniGeometryConverter +class IECOREHOUDINI_API ToHoudiniCortexObjectConverter : public IECoreHoudini::ToHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniCurvesConverter.h b/include/IECoreHoudini/ToHoudiniCurvesConverter.h index fd02df8b8e..4e4d82b590 100644 --- a/include/IECoreHoudini/ToHoudiniCurvesConverter.h +++ b/include/IECoreHoudini/ToHoudiniCurvesConverter.h @@ -35,16 +35,16 @@ #ifndef IECOREHOUDINI_TOHOUDINICURVESCONVERTER_H #define IECOREHOUDINI_TOHOUDINICURVESCONVERTER_H -#include "IECoreScene/CurvesPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/CurvesPrimitive.h" namespace IECoreHoudini { /// Converter which converts from an IECore::CurvesPrimitive to a Houdini GU_Detail -class ToHoudiniCurvesConverter : public IECoreHoudini::ToHoudiniGeometryConverter +class IECOREHOUDINI_API ToHoudiniCurvesConverter : public IECoreHoudini::ToHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniGeometryConverter.h b/include/IECoreHoudini/ToHoudiniGeometryConverter.h index 2a7ea696d9..e9ffe09f93 100644 --- a/include/IECoreHoudini/ToHoudiniGeometryConverter.h +++ b/include/IECoreHoudini/ToHoudiniGeometryConverter.h @@ -35,16 +35,17 @@ #ifndef IECOREHOUDINI_TOHOUDINIGEOMETRYCONVERTER_H #define IECOREHOUDINI_TOHOUDINIGEOMETRYCONVERTER_H -#include "GU/GU_Detail.h" -#include "GU/GU_DetailHandle.h" +#include "IECoreHoudini/ToHoudiniConverter.h" +#include "IECoreHoudini/TypeIds.h" -#include "IECore/SimpleTypedParameter.h" -#include "IECore/VectorTypedData.h" #include "IECoreScene/Primitive.h" #include "IECoreScene/VisibleRenderable.h" -#include "IECoreHoudini/TypeIds.h" -#include "IECoreHoudini/ToHoudiniConverter.h" +#include "IECore/SimpleTypedParameter.h" +#include "IECore/VectorTypedData.h" + +#include "GU/GU_Detail.h" +#include "GU/GU_DetailHandle.h" namespace IECoreHoudini { @@ -53,7 +54,7 @@ IE_CORE_FORWARDDECLARE( ToHoudiniGeometryConverter ); /// The ToHoudiniGeometryConverter class forms a base class for all classes able to perform /// some kind of conversion from an IECore::Object to a Houdini GU_Detail. -class ToHoudiniGeometryConverter : public ToHoudiniConverter +class IECOREHOUDINI_API ToHoudiniGeometryConverter : public ToHoudiniConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniNumericAttribConverter.h b/include/IECoreHoudini/ToHoudiniNumericAttribConverter.h index caecb04ecd..00602f767a 100644 --- a/include/IECoreHoudini/ToHoudiniNumericAttribConverter.h +++ b/include/IECoreHoudini/ToHoudiniNumericAttribConverter.h @@ -35,10 +35,11 @@ #ifndef IECOREHOUDINI_TOHOUDININUMERICATTRIBCONVERTER_H #define IECOREHOUDINI_TOHOUDININUMERICATTRIBCONVERTER_H -#include "IECore/VectorTypedData.h" - -#include "IECoreHoudini/TypeIds.h" +#include "IECoreHoudini/Export.h" #include "IECoreHoudini/ToHoudiniAttribConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECore/VectorTypedData.h" namespace IECoreHoudini { @@ -46,7 +47,7 @@ namespace IECoreHoudini /// This template class can convert from various numeric IECore VectorTypeData types /// to a Houdini GA_Attribute on the provided GU_Detail. template -class ToHoudiniNumericVectorAttribConverter : public ToHoudiniAttribConverter +class IECOREHOUDINI_API ToHoudiniNumericVectorAttribConverter : public ToHoudiniAttribConverter { public : @@ -71,7 +72,7 @@ class ToHoudiniNumericVectorAttribConverter : public ToHoudiniAttribConverter /// This template class can convert from various numeric IECore SimpleTypedData types /// to a Houdini GA_Attribute on the provided GU_Detail. template -class ToHoudiniNumericDetailAttribConverter : public ToHoudiniAttribConverter +class IECOREHOUDINI_API ToHoudiniNumericDetailAttribConverter : public ToHoudiniAttribConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniNumericAttribConverter.inl b/include/IECoreHoudini/ToHoudiniNumericAttribConverter.inl index d7be8e44fe..340614d5b4 100644 --- a/include/IECoreHoudini/ToHoudiniNumericAttribConverter.inl +++ b/include/IECoreHoudini/ToHoudiniNumericAttribConverter.inl @@ -35,13 +35,13 @@ #ifndef IECOREHOUDINI_TOHOUDININUMERICATTRIBCONVERTER_INL #define IECOREHOUDINI_TOHOUDININUMERICATTRIBCONVERTER_INL -#include "boost/format.hpp" +#include "IECoreHoudini/ToHoudiniNumericAttribConverter.h" +#include "IECoreHoudini/TypeTraits.h" #include "IECore/DespatchTypedData.h" #include "IECore/VectorTraits.h" -#include "IECoreHoudini/ToHoudiniNumericAttribConverter.h" -#include "IECoreHoudini/TypeTraits.h" +#include "boost/format.hpp" namespace IECoreHoudini { diff --git a/include/IECoreHoudini/ToHoudiniPointsConverter.h b/include/IECoreHoudini/ToHoudiniPointsConverter.h index 8b7cdd57c5..d59b3f9dce 100644 --- a/include/IECoreHoudini/ToHoudiniPointsConverter.h +++ b/include/IECoreHoudini/ToHoudiniPointsConverter.h @@ -35,16 +35,16 @@ #ifndef IECOREHOUDINI_TOHOUDINIPOINTSCONVERTER_H #define IECOREHOUDINI_TOHOUDINIPOINTSCONVERTER_H -#include "IECoreScene/PointsPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/PointsPrimitive.h" namespace IECoreHoudini { /// Converter which converts from an IECore::PointsPrimitive to a Houdini GU_Detail -class ToHoudiniPointsConverter : public IECoreHoudini::ToHoudiniGeometryConverter +class IECOREHOUDINI_API ToHoudiniPointsConverter : public IECoreHoudini::ToHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniPolygonsConverter.h b/include/IECoreHoudini/ToHoudiniPolygonsConverter.h index 154d890e8c..feae64cd80 100644 --- a/include/IECoreHoudini/ToHoudiniPolygonsConverter.h +++ b/include/IECoreHoudini/ToHoudiniPolygonsConverter.h @@ -35,16 +35,16 @@ #ifndef IECOREHOUDINI_TOHOUDINIPOLYGONSCONVERTER_H #define IECOREHOUDINI_TOHOUDINIPOLYGONSCONVERTER_H -#include "IECoreScene/MeshPrimitive.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECoreScene/MeshPrimitive.h" namespace IECoreHoudini { /// Converter which converts from an IECore::MeshPrimitive to a Houdini GU_Detail -class ToHoudiniPolygonsConverter : public IECoreHoudini::ToHoudiniGeometryConverter +class IECOREHOUDINI_API ToHoudiniPolygonsConverter : public IECoreHoudini::ToHoudiniGeometryConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniQuatAttribConverter.h b/include/IECoreHoudini/ToHoudiniQuatAttribConverter.h index 0fbb3ec03f..6ac27c2b94 100644 --- a/include/IECoreHoudini/ToHoudiniQuatAttribConverter.h +++ b/include/IECoreHoudini/ToHoudiniQuatAttribConverter.h @@ -35,10 +35,10 @@ #ifndef IECOREHOUDINI_TOHOUDINIQUATATTRIBCONVERTER_H #define IECOREHOUDINI_TOHOUDINIQUATATTRIBCONVERTER_H -#include "IECore/VectorTypedParameter.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniAttribConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECore/VectorTypedParameter.h" namespace IECoreHoudini { @@ -47,7 +47,7 @@ IE_CORE_FORWARDDECLARE( ToHoudiniQuatVectorAttribConverter ); /// A ToHoudiniQuatVectorAttribConverter can convert from IECore::QuatfVectorData /// to a Houdini GA_Attribute on the provided GU_Detail. -class ToHoudiniQuatVectorAttribConverter : public ToHoudiniAttribConverter +class IECOREHOUDINI_API ToHoudiniQuatVectorAttribConverter : public ToHoudiniAttribConverter { public : diff --git a/include/IECoreHoudini/ToHoudiniStringAttribConverter.h b/include/IECoreHoudini/ToHoudiniStringAttribConverter.h index 621066652a..f9c12ab6d3 100644 --- a/include/IECoreHoudini/ToHoudiniStringAttribConverter.h +++ b/include/IECoreHoudini/ToHoudiniStringAttribConverter.h @@ -35,10 +35,10 @@ #ifndef IECOREHOUDINI_TOHOUDINISTRINGATTRIBCONVERTER_H #define IECOREHOUDINI_TOHOUDINISTRINGATTRIBCONVERTER_H -#include "IECore/VectorTypedParameter.h" - -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/ToHoudiniAttribConverter.h" +#include "IECoreHoudini/TypeIds.h" + +#include "IECore/VectorTypedParameter.h" namespace IECoreHoudini { @@ -47,7 +47,7 @@ IE_CORE_FORWARDDECLARE( ToHoudiniStringVectorAttribConverter ); /// A ToHoudiniStringVectorAttribConverter can convert from IECore::StringVectorData /// to a Houdini GA_Attribute on the provided GU_Detail. -class ToHoudiniStringVectorAttribConverter : public ToHoudiniAttribConverter +class IECOREHOUDINI_API ToHoudiniStringVectorAttribConverter : public ToHoudiniAttribConverter { public : @@ -82,7 +82,7 @@ IE_CORE_FORWARDDECLARE( ToHoudiniStringDetailAttribConverter ); /// A ToHoudiniStringDetailAttribConverter can convert from IECore::StringData /// to a Houdini GA_Attribute on the provided GU_Detail. -class ToHoudiniStringDetailAttribConverter : public ToHoudiniAttribConverter +class IECOREHOUDINI_API ToHoudiniStringDetailAttribConverter : public ToHoudiniAttribConverter { public : diff --git a/include/IECoreHoudini/TypeTraits.h b/include/IECoreHoudini/TypeTraits.h index 1a6a79a35d..0980013607 100644 --- a/include/IECoreHoudini/TypeTraits.h +++ b/include/IECoreHoudini/TypeTraits.h @@ -35,8 +35,8 @@ #ifndef IECOREHOUDINI_TYPETRAITS_H #define IECOREHOUDINI_TYPETRAITS_H -#include "IECore/TypeTraits.h" #include "IECore/SimpleTypedData.h" +#include "IECore/TypeTraits.h" #include "IECore/VectorTypedData.h" namespace IECoreHoudini diff --git a/include/IECoreHoudini/UT_ObjectPoolCache.h b/include/IECoreHoudini/UT_ObjectPoolCache.h index 2b0ac55158..d2ff8c76f6 100644 --- a/include/IECoreHoudini/UT_ObjectPoolCache.h +++ b/include/IECoreHoudini/UT_ObjectPoolCache.h @@ -35,10 +35,12 @@ #ifndef IECOREHOUDINI_UTOBJECTPOOLCACHE_H #define IECOREHOUDINI_UTOBJECTPOOLCACHE_H -#include "UT/UT_Cache.h" +#include "IECoreHoudini/Export.h" #include "IECore/ObjectPool.h" +#include "UT/UT_Cache.h" + namespace IECoreHoudini { @@ -46,7 +48,7 @@ namespace IECoreHoudini /// This allows users to manipulate Cortex memory consumption using /// the standard Houdini UI. The default UT_ObjectPoolCache is created /// automatically using the default ObjectPool; -class UT_ObjectPoolCache : public UT_Cache +class IECOREHOUDINI_API UT_ObjectPoolCache : public UT_Cache { public : diff --git a/src/IECoreHoudini/Convert.cpp b/src/IECoreHoudini/Convert.cpp index ba4d8784a1..23835c1c94 100644 --- a/src/IECoreHoudini/Convert.cpp +++ b/src/IECoreHoudini/Convert.cpp @@ -32,12 +32,12 @@ // ////////////////////////////////////////////////////////////////////////// -#include +#include "IECoreHoudini/Convert.h" -#include "IECore/VectorTypedData.h" #include "IECore/SimpleTypedData.h" +#include "IECore/VectorTypedData.h" -#include "IECoreHoudini/Convert.h" +#include namespace IECore { diff --git a/src/IECoreHoudini/CoreHoudini.cpp b/src/IECoreHoudini/CoreHoudini.cpp index 10d7ffcfbe..9e2b53d294 100644 --- a/src/IECoreHoudini/CoreHoudini.cpp +++ b/src/IECoreHoudini/CoreHoudini.cpp @@ -35,13 +35,13 @@ // ////////////////////////////////////////////////////////////////////////// -#include "CH/CH_Manager.h" - -#include "IECore/MessageHandler.h" +#include "IECoreHoudini/CoreHoudini.h" #include "IECorePython/ScopedGILLock.h" -#include "IECoreHoudini/CoreHoudini.h" +#include "IECore/MessageHandler.h" + +#include "CH/CH_Manager.h" using namespace IECoreHoudini; using namespace boost::python; diff --git a/src/IECoreHoudini/DetailSplitter.cpp b/src/IECoreHoudini/DetailSplitter.cpp index cbad651174..e85290854f 100644 --- a/src/IECoreHoudini/DetailSplitter.cpp +++ b/src/IECoreHoudini/DetailSplitter.cpp @@ -32,34 +32,34 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GA/GA_Names.h" -#include "GU/GU_Detail.h" -#include "OP/OP_Context.h" - -#include "boost/regex.hpp" -#include "boost/algorithm/string/replace.hpp" - -#include "tbb/tbb.h" - #include "IECoreHoudini/DetailSplitter.h" + +#include "IECoreHoudini/FromHoudiniCurvesConverter.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/FromHoudiniPointsConverter.h" +#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" -#include "IECoreScene/MeshPrimitive.h" +#include "IECoreScene/CurvesAlgo.h" #include "IECoreScene/CurvesPrimitive.h" -#include "IECoreScene/PointsPrimitive.h" #include "IECoreScene/MeshAlgo.h" -#include "IECoreScene/CurvesAlgo.h" +#include "IECoreScene/MeshPrimitive.h" #include "IECoreScene/PointsAlgo.h" +#include "IECoreScene/PointsPrimitive.h" -#include "IECore/PathMatcher.h" +#include "IECore/CompoundParameter.h" #include "IECore/DataAlgo.h" +#include "IECore/PathMatcher.h" #include "IECore/VectorTypedData.h" -#include "IECore/CompoundParameter.h" + +#include "GA/GA_Names.h" +#include "GU/GU_Detail.h" +#include "OP/OP_Context.h" #include "boost/algorithm/string/join.hpp" -#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" -#include "IECoreHoudini/FromHoudiniCurvesConverter.h" -#include "IECoreHoudini/FromHoudiniPointsConverter.h" +#include "boost/algorithm/string/replace.hpp" +#include "boost/regex.hpp" + +#include "tbb/tbb.h" #include diff --git a/src/IECoreHoudini/FnParameterisedHolder.cpp b/src/IECoreHoudini/FnParameterisedHolder.cpp deleted file mode 100644 index 70512f503a..0000000000 --- a/src/IECoreHoudini/FnParameterisedHolder.cpp +++ /dev/null @@ -1,159 +0,0 @@ -////////////////////////////////////////////////////////////////////////// -// -// Copyright 2010 Dr D Studios Pty Limited (ACN 127 184 954) (Dr. D Studios), -// its affiliates and/or its licensors. -// -// Copyright (c) 2010-2013, Image Engine Design Inc. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// * Neither the name of Image Engine Design nor the names of any -// other contributors to this software may be used to endorse or -// promote products derived from this software without specific prior -// written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -////////////////////////////////////////////////////////////////////////// - -#include "IECoreHoudini/FnParameterisedHolder.h" - -using namespace IECoreHoudini; - -FnParameterisedHolder::FnParameterisedHolder( OP_Node *node ) : m_handle() -{ - if ( !node ) - { - return; - } - - if ( getHolder( node ) ) - { - setHolder( node ); - } - else - { - UT_String path; - node->getFullPath( path ); - std::cerr << path << " was not a valid ieParameterisedHolder!" << std::endl; - } -} - -FnParameterisedHolder::~FnParameterisedHolder() -{ -} - -bool FnParameterisedHolder::hasParameterised() -{ - if ( hasHolder() ) - { - ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); - if ( holder ) - { - return holder->hasParameterised(); - } - } - - return false; -} - -void FnParameterisedHolder::setParameterised( IECore::RunTimeTypedPtr p ) -{ - if ( !p || !hasHolder() ) - { - return; - } - - ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); - if ( !holder ) - { - return; - } - - holder->setParameterised( p ); -} - -void FnParameterisedHolder::setParameterised( const std::string &className, int classVerison, const std::string &seachPathEnvVar ) -{ - if ( !hasHolder() ) - { - return; - } - - ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); - if ( !holder ) - { - return; - } - - holder->setParameterised( className, classVerison, seachPathEnvVar ); -} - -IECore::RunTimeTypedPtr FnParameterisedHolder::getParameterised() -{ - if ( hasHolder() ) - { - ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); - if ( holder ) - { - return holder->getParameterised(); - } - } - - return 0; -} - -void FnParameterisedHolder::setParameterisedValues( double time ) -{ - if ( !hasHolder() ) - { - return; - } - - ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); - if ( !holder ) - { - return; - } - - holder->setParameterisedValues( time ); -} - -bool FnParameterisedHolder::hasHolder() -{ - return m_handle.alive(); -} - -void FnParameterisedHolder::setHolder( OP_Node *node ) -{ - m_handle = node; -} - -ParameterisedHolderInterface *FnParameterisedHolder::getHolder( OP_Node *node ) -{ - if ( node ) - { - return dynamic_cast( node ); - } - - return 0; -} diff --git a/src/IECoreHoudini/FromHoudiniCompoundObjectConverter.cpp b/src/IECoreHoudini/FromHoudiniCompoundObjectConverter.cpp index 09ad5aee3f..1533ca36a1 100644 --- a/src/IECoreHoudini/FromHoudiniCompoundObjectConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniCompoundObjectConverter.cpp @@ -32,31 +32,28 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GA/GA_Names.h" - -#include "boost/python.hpp" - -#include "IECore/CompoundObject.h" - #include "IECoreHoudini/FromHoudiniCompoundObjectConverter.h" #include "IECoreHoudini/GEO_CortexPrimitive.h" -using namespace IECore; -using namespace IECoreScene; -using namespace IECoreHoudini; +#include "IECore/CompoundObject.h" + +#include "GA/GA_Names.h" #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" - -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +using namespace IECore; +using namespace IECoreScene; +using namespace IECoreHoudini; + IE_CORE_DEFINERUNTIMETYPED( FromHoudiniCompoundObjectConverter ); FromHoudiniGeometryConverter::Description FromHoudiniCompoundObjectConverter::m_description( CompoundObjectTypeId ); diff --git a/src/IECoreHoudini/FromHoudiniConverter.cpp b/src/IECoreHoudini/FromHoudiniConverter.cpp index c872936a7b..660c6a23ef 100644 --- a/src/IECoreHoudini/FromHoudiniConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniConverter.cpp @@ -32,10 +32,10 @@ // ////////////////////////////////////////////////////////////////////////// -#include "IECore/CompoundParameter.h" - #include "IECoreHoudini/FromHoudiniConverter.h" +#include "IECore/CompoundParameter.h" + using namespace IECoreHoudini; using namespace IECore; diff --git a/src/IECoreHoudini/FromHoudiniCortexObjectConverter.cpp b/src/IECoreHoudini/FromHoudiniCortexObjectConverter.cpp index cc7b43466b..22dbabcaf9 100644 --- a/src/IECoreHoudini/FromHoudiniCortexObjectConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniCortexObjectConverter.cpp @@ -32,29 +32,26 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/python.hpp" - -#include "IECore/CompoundObject.h" - #include "IECoreHoudini/FromHoudiniCortexObjectConverter.h" #include "IECoreHoudini/GEO_CortexPrimitive.h" -using namespace IECore; -using namespace IECoreScene; -using namespace IECoreHoudini; - #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" - -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +#include "IECore/CompoundObject.h" + +using namespace IECore; +using namespace IECoreScene; +using namespace IECoreHoudini; + IE_CORE_DEFINERUNTIMETYPED( FromHoudiniCortexObjectConverter ); FromHoudiniGeometryConverter::Description FromHoudiniCortexObjectConverter::m_description( ObjectTypeId ); diff --git a/src/IECoreHoudini/FromHoudiniCurvesConverter.cpp b/src/IECoreHoudini/FromHoudiniCurvesConverter.cpp index 6a1c8a5f0c..543d48b9ef 100644 --- a/src/IECoreHoudini/FromHoudiniCurvesConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniCurvesConverter.cpp @@ -32,15 +32,13 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GA/GA_Names.h" -#include "GEO/GEO_Curve.h" - -#include "boost/python.hpp" +#include "IECoreHoudini/FromHoudiniCurvesConverter.h" +#include "IECoreHoudini/TypeTraits.h" #include "IECore/DespatchTypedData.h" -#include "IECoreHoudini/FromHoudiniCurvesConverter.h" -#include "IECoreHoudini/TypeTraits.h" +#include "GA/GA_Names.h" +#include "GEO/GEO_Curve.h" using namespace IECore; using namespace IECoreScene; diff --git a/src/IECoreHoudini/FromHoudiniGeometryConverter.cpp b/src/IECoreHoudini/FromHoudiniGeometryConverter.cpp index 6613d8e38e..1861402fa9 100644 --- a/src/IECoreHoudini/FromHoudiniGeometryConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniGeometryConverter.cpp @@ -35,28 +35,26 @@ // ////////////////////////////////////////////////////////////////////////// -#include "tbb/tbb.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" -#include "boost/functional/hash.hpp" -#include "boost/lexical_cast.hpp" +#include "IECoreHoudini/Convert.h" + +#include "IECoreScene/private/PrimitiveVariableAlgos.h" + +#include "IECore/CompoundObject.h" +#include "IECore/CompoundParameter.h" #include "CH/CH_Manager.h" #include "GA/GA_Names.h" +#include "UT/UT_StdUtil.h" #include "UT/UT_StringMMPattern.h" #include "UT/UT_Version.h" #include "UT/UT_WorkArgs.h" -#if UT_MAJOR_VERSION_INT >= 17 - -#include "UT/UT_StdUtil.h" - -#endif +#include "boost/functional/hash.hpp" +#include "boost/lexical_cast.hpp" -#include "IECore/CompoundObject.h" -#include "IECore/CompoundParameter.h" -#include "IECoreScene/private/PrimitiveVariableAlgos.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "tbb/tbb.h" #include diff --git a/src/IECoreHoudini/FromHoudiniPointsConverter.cpp b/src/IECoreHoudini/FromHoudiniPointsConverter.cpp index 83f9b4757a..f13f748cf1 100644 --- a/src/IECoreHoudini/FromHoudiniPointsConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniPointsConverter.cpp @@ -32,8 +32,6 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/python.hpp" - #include "IECoreHoudini/FromHoudiniPointsConverter.h" using namespace IECore; diff --git a/src/IECoreHoudini/FromHoudiniPolygonsConverter.cpp b/src/IECoreHoudini/FromHoudiniPolygonsConverter.cpp index b2f2515119..6011266a7f 100644 --- a/src/IECoreHoudini/FromHoudiniPolygonsConverter.cpp +++ b/src/IECoreHoudini/FromHoudiniPolygonsConverter.cpp @@ -32,11 +32,11 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GA/GA_Names.h" +#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" #include "IECore/CompoundObject.h" -#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" +#include "GA/GA_Names.h" using namespace IECore; using namespace IECoreScene; diff --git a/src/IECoreHoudini/GEO_CobIOTranslator.cpp b/src/IECoreHoudini/GEO_CobIOTranslator.cpp index af1d8c878e..401f8a9ac8 100644 --- a/src/IECoreHoudini/GEO_CobIOTranslator.cpp +++ b/src/IECoreHoudini/GEO_CobIOTranslator.cpp @@ -32,17 +32,18 @@ // ////////////////////////////////////////////////////////////////////////// -#include "UT/UT_Version.h" +#include "IECoreHoudini/GEO_CobIOTranslator.h" + +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/ToHoudiniGeometryConverter.h" #include "IECore/CompoundParameter.h" #include "IECore/Reader.h" #include "IECore/TypeIds.h" #include "IECore/Writer.h" -#include "IECoreHoudini/GEO_CobIOTranslator.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" -#include "IECoreHoudini/ToHoudiniGeometryConverter.h" -#include "IECoreHoudini/Convert.h" +#include "UT/UT_Version.h" using namespace IECore; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/GEO_CortexPrimitive.cpp b/src/IECoreHoudini/GEO_CortexPrimitive.cpp index c31f2623f8..7204d4fae4 100644 --- a/src/IECoreHoudini/GEO_CortexPrimitive.cpp +++ b/src/IECoreHoudini/GEO_CortexPrimitive.cpp @@ -32,6 +32,34 @@ // ////////////////////////////////////////////////////////////////////////// +#include "IECoreHoudini/GEO_CortexPrimitive.h" + +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/CoreHoudiniVersion.h" + +#ifdef IECOREHOUDINI_WITH_GL +#include "IECoreHoudini/GUI_CortexPrimitiveHook.h" +#endif + +#include "IECoreHoudini/SOP_OpHolder.h" +#include "IECoreHoudini/ToHoudiniPolygonsConverter.h" +#include "IECoreHoudini/UT_ObjectPoolCache.h" + + +#include "IECoreScene/CoordinateSystem.h" +#include "IECoreScene/Group.h" +#include "IECoreScene/MatrixTransform.h" +#include "IECoreScene/Primitive.h" +#include "IECoreScene/TransformOp.h" +#include "IECoreScene/VisibleRenderable.h" + +#include "IECore/HexConversion.h" +#include "IECore/MemoryIndexedIO.h" + +#ifdef IECOREHOUDINI_WITH_GL +#include "DM/DM_RenderTable.h" +#endif + #include "GA/GA_Defragment.h" #include "GA/GA_ElementWrangler.h" #include "GA/GA_IndexMap.h" @@ -46,26 +74,6 @@ #include "UT/UT_JSONWriter.h" #include "UT/UT_MemoryCounter.h" #include "UT/UT_StringHolder.h" -#ifdef IECOREHOUDINI_WITH_GL -#include "DM/DM_RenderTable.h" -#include "IECoreHoudini/GUI_CortexPrimitiveHook.h" -#endif - -#include "IECore/HexConversion.h" -#include "IECore/MemoryIndexedIO.h" -#include "IECoreScene/CoordinateSystem.h" -#include "IECoreScene/Group.h" -#include "IECoreScene/MatrixTransform.h" -#include "IECoreScene/Primitive.h" -#include "IECoreScene/TransformOp.h" -#include "IECoreScene/VisibleRenderable.h" - -#include "IECoreHoudini/CoreHoudiniVersion.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" -#include "IECoreHoudini/SOP_OpHolder.h" -#include "IECoreHoudini/ToHoudiniPolygonsConverter.h" -#include "IECoreHoudini/UT_ObjectPoolCache.h" #if UT_MAJOR_VERSION_INT < 14 diff --git a/src/IECoreHoudini/GR_CortexPrimitive.cpp b/src/IECoreHoudini/GR_CortexPrimitive.cpp index 97e7bbe641..7e471e62fd 100644 --- a/src/IECoreHoudini/GR_CortexPrimitive.cpp +++ b/src/IECoreHoudini/GR_CortexPrimitive.cpp @@ -32,17 +32,15 @@ // ////////////////////////////////////////////////////////////////////////// -/// GR_Primitives are used in Houdini 12.5, but do not exist in earlier versions. -/// Check GR_Cortex.cpp for Cortex viewport rendering in Houdini 12.0. -#include "UT/UT_Version.h" -#if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5 +#include "IECoreHoudini/GR_CortexPrimitive.h" -#include "IECore/SimpleTypedData.h" -#include "IECoreScene/MeshPrimitive.h" +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/GEO_CortexPrimitive.h" +#include "IECoreHoudini/GU_CortexPrimitive.h" -#include "IECoreGL/IECoreGL.h" #include "IECoreGL/Camera.h" #include "IECoreGL/CurvesPrimitive.h" +#include "IECoreGL/IECoreGL.h" #include "IECoreGL/PointsPrimitive.h" #include "IECoreGL/Primitive.h" #include "IECoreGL/Renderer.h" @@ -52,27 +50,26 @@ #include "IECoreGL/State.h" #include "IECoreGL/TextureLoader.h" -// this needs to come after IECoreGL so gl and glew don't fight -#include "RE/RE_Render.h" +#include "IECoreScene/MeshPrimitive.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/GR_CortexPrimitive.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" +#include "IECore/SimpleTypedData.h" -using namespace IECoreHoudini; +#include "RE/RE_Render.h" +#include "UT/UT_Version.h" #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" - -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +using namespace IECoreHoudini; + GR_CortexPrimitive::GR_CortexPrimitive( const GR_RenderInfo *info, const char *cache_name, const GEO_Primitive *prim ) : GR_Primitive( info, cache_name, GA_PrimCompat::TypeMask(0) ) { @@ -483,5 +480,3 @@ const std::string &GR_CortexPrimitive::pickFragmentSource() return s; } - -#endif // 12.5 or later diff --git a/src/IECoreHoudini/GUI_CortexPrimitiveHook.cpp b/src/IECoreHoudini/GUI_CortexPrimitiveHook.cpp index 7215fcbce3..cebf240ce9 100644 --- a/src/IECoreHoudini/GUI_CortexPrimitiveHook.cpp +++ b/src/IECoreHoudini/GUI_CortexPrimitiveHook.cpp @@ -32,29 +32,24 @@ // ////////////////////////////////////////////////////////////////////////// -/// GUI_PrimitiveHooks are used in Houdini 12.5, but do not exist in earlier versions. -/// Check GR_Cortex.cpp for Cortex viewport rendering in Houdini 12.0. -#include "UT/UT_Version.h" -#if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5 +#include "IECoreHoudini/GUI_CortexPrimitiveHook.h" #include "IECoreHoudini/GEO_CortexPrimitive.h" #include "IECoreHoudini/GR_CortexPrimitive.h" -#include "IECoreHoudini/GUI_CortexPrimitiveHook.h" - -using namespace IECoreHoudini; #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" - -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +using namespace IECoreHoudini; + GUI_CortexPrimitiveHook::GUI_CortexPrimitiveHook() : GUI_PrimitiveHook( CortexPrimitive::typeName ) { } @@ -67,5 +62,3 @@ GR_Primitive *GUI_CortexPrimitiveHook::createPrimitive( const GT_PrimitiveHandle { return new GR_CortexPrimitive( info, cache_name, geo_prim ); } - -#endif // 12.5 or later diff --git a/src/IECoreHoudini/GU_CortexPrimitive.cpp b/src/IECoreHoudini/GU_CortexPrimitive.cpp index 7ed2ee07e5..379f570988 100644 --- a/src/IECoreHoudini/GU_CortexPrimitive.cpp +++ b/src/IECoreHoudini/GU_CortexPrimitive.cpp @@ -33,25 +33,20 @@ ////////////////////////////////////////////////////////////////////////// #include "UT/UT_Version.h" - #if UT_MAJOR_VERSION_INT < 14 -#include "GU/GU_ConvertParms.h" -#include "GU/GU_RayIntersect.h" - -#if UT_MAJOR_VERSION_INT >= 13 - - #include "UT/UT_MemoryCounter.h" - -#endif +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/GU_CortexPrimitive.h" +#include "IECoreHoudini/ToHoudiniPolygonsConverter.h" -#include "IECore/Object.h" #include "IECoreScene/CoordinateSystem.h" #include "IECoreScene/Transform.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/GU_CortexPrimitive.h" -#include "IECoreHoudini/ToHoudiniPolygonsConverter.h" +#include "IECore/Object.h" + +#include "GU/GU_ConvertParms.h" +#include "GU/GU_RayIntersect.h" +#include "UT/UT_MemoryCounter.h" using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/HoudiniHeaderGenerator.cpp b/src/IECoreHoudini/HoudiniHeaderGenerator.cpp index ca0f02303e..93c92fa820 100644 --- a/src/IECoreHoudini/HoudiniHeaderGenerator.cpp +++ b/src/IECoreHoudini/HoudiniHeaderGenerator.cpp @@ -32,15 +32,15 @@ // ////////////////////////////////////////////////////////////////////////// -#include "OP/OP_Director.h" -#include "MOT/MOT_Director.h" -#include "UT/UT_Version.h" +#include "IECoreHoudini/CoreHoudini.h" #include "IECore/CompoundData.h" #include "IECore/HeaderGenerator.h" #include "IECore/SimpleTypedData.h" -#include "IECoreHoudini/CoreHoudini.h" +#include "MOT/MOT_Director.h" +#include "OP/OP_Director.h" +#include "UT/UT_Version.h" using namespace IECore; diff --git a/src/IECoreHoudini/LiveScene.cpp b/src/IECoreHoudini/LiveScene.cpp index 6d05155f5d..c7b4fcc982 100644 --- a/src/IECoreHoudini/LiveScene.cpp +++ b/src/IECoreHoudini/LiveScene.cpp @@ -32,29 +32,33 @@ // ////////////////////////////////////////////////////////////////////////// -#include -#include -#include +#include "IECoreHoudini/LiveScene.h" -#include +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreScene/Group.h" + +#include "IECore/TransformationMatrixData.h" + +IECORE_PUSH_DEFAULT_VISIBILITY #include "OpenEXR/ImathBoxAlgo.h" #include "OpenEXR/ImathMatrixAlgo.h" +IECORE_POP_DEFAULT_VISIBILITY +#include "MGR/MGR_Node.h" +#include "MOT/MOT_Director.h" #include "OBJ/OBJ_Node.h" #include "OP/OP_Director.h" #include "OP/OP_Input.h" -#include "MGR/MGR_Node.h" -#include "MOT/MOT_Director.h" #include "UT/UT_Version.h" #include "UT/UT_WorkArgs.h" -#include "IECore/TransformationMatrixData.h" -#include "IECoreScene/Group.h" +#include "boost/algorithm/string/join.hpp" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/LiveScene.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include +#include +#include #if UT_MAJOR_VERSION_INT >= 14 diff --git a/src/IECoreHoudini/NodeHandle.cpp b/src/IECoreHoudini/NodeHandle.cpp index bfcd75de22..714c05b6c1 100644 --- a/src/IECoreHoudini/NodeHandle.cpp +++ b/src/IECoreHoudini/NodeHandle.cpp @@ -35,10 +35,11 @@ // ////////////////////////////////////////////////////////////////////////// +#include "IECoreHoudini/NodeHandle.h" + #include "OP/OP_Director.h" -#include "boost/shared_ptr.hpp" -#include "IECoreHoudini/NodeHandle.h" +#include "boost/shared_ptr.hpp" using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/OBJ_SceneCacheGeometry.cpp b/src/IECoreHoudini/OBJ_SceneCacheGeometry.cpp index 0ff33f94b8..77b3417a14 100644 --- a/src/IECoreHoudini/OBJ_SceneCacheGeometry.cpp +++ b/src/IECoreHoudini/OBJ_SceneCacheGeometry.cpp @@ -32,12 +32,13 @@ // ////////////////////////////////////////////////////////////////////////// -#include "UT/UT_PtrArray.h" -#include "UT/UT_Version.h" - #include "IECoreHoudini/OBJ_SceneCacheGeometry.h" + #include "IECoreHoudini/SOP_SceneCacheSource.h" +#include "UT/UT_ValArray.h" +#include "UT/UT_Version.h" + using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; @@ -119,7 +120,7 @@ void OBJ_SceneCacheGeometry::pushToHierarchy() getFullPathName( fullPathName ); GeometryType geomType = getGeometryType(); - UT_PtrArray children; + UT_ValArray children; int numSceneSops = getOpsByName( SOP_SceneCacheSource::typeName, children ); for ( int i=0; i < numSceneSops; ++i ) { diff --git a/src/IECoreHoudini/OBJ_SceneCacheNode.cpp b/src/IECoreHoudini/OBJ_SceneCacheNode.cpp index d9b7810b7d..3350f77147 100644 --- a/src/IECoreHoudini/OBJ_SceneCacheNode.cpp +++ b/src/IECoreHoudini/OBJ_SceneCacheNode.cpp @@ -32,17 +32,18 @@ // ////////////////////////////////////////////////////////////////////////// +#include "IECoreHoudini/OBJ_SceneCacheNode.h" + +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/LiveScene.h" + #include "OBJ/OBJ_Geometry.h" -#include "OBJ/OBJ_SubNet.h" #include "OBJ/OBJ_Node.h" +#include "OBJ/OBJ_SubNet.h" #include "PRM/PRM_Include.h" #include "PRM/PRM_Parm.h" #include "PRM/PRM_SpareData.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/LiveScene.h" -#include "IECoreHoudini/OBJ_SceneCacheNode.h" - using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/OBJ_SceneCacheTransform.cpp b/src/IECoreHoudini/OBJ_SceneCacheTransform.cpp index ca1f138059..c71bd38dc8 100644 --- a/src/IECoreHoudini/OBJ_SceneCacheTransform.cpp +++ b/src/IECoreHoudini/OBJ_SceneCacheTransform.cpp @@ -31,21 +31,21 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // ////////////////////////////////////////////////////////////////////////// -#include "UT/UT_Version.h" + +#include "IECoreHoudini/OBJ_SceneCacheTransform.h" + +#include "IECoreHoudini/OBJ_SceneCacheGeometry.h" + #include "OP/OP_Layout.h" +#include "UT/UT_Version.h" #if UT_MAJOR_VERSION_INT >= 16 - #include "OP/OP_SubnetIndirectInput.h" - #endif #include "PRM/PRM_ChoiceList.h" #include "UT/UT_Interrupt.h" -#include "UT/UT_PtrArray.h" - -#include "IECoreHoudini/OBJ_SceneCacheGeometry.h" -#include "IECoreHoudini/OBJ_SceneCacheTransform.h" +#include "UT/UT_ValArray.h" using namespace IECore; using namespace IECoreScene; @@ -383,7 +383,7 @@ void OBJ_SceneCacheTransform::pushToHierarchy() getTagFilter( tagFilterStr ); tagFilter.compile( tagFilterStr ); - UT_PtrArray children; + UT_ValArray children; int numSceneNodes = getOpsByName( OBJ_SceneCacheTransform::typeName, children ); for ( int i=0; i < numSceneNodes; ++i ) { diff --git a/src/IECoreHoudini/ParameterisedHolder.cpp b/src/IECoreHoudini/ParameterisedHolder.cpp index ad312d7978..dd1e454321 100644 --- a/src/IECoreHoudini/ParameterisedHolder.cpp +++ b/src/IECoreHoudini/ParameterisedHolder.cpp @@ -35,26 +35,29 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/bind.hpp" +// \todo: libIECoreHoudini should not use python. Move any use case to the IECoreHoudini bindings #include "boost/python.hpp" -#include "boost/format.hpp" -#include "CH/CH_LocalVariable.h" -#include "OBJ/OBJ_Node.h" -#include "PRM/PRM_Include.h" -#include "PRM/PRM_Parm.h" -#include "SOP/SOP_Node.h" -#include "ROP/ROP_Node.h" +#include "IECoreHoudini/ParameterisedHolder.h" + +#include "IECoreHoudini/CoreHoudini.h" + +#include "IECorePython/ScopedGILLock.h" #include "IECore/LevelFilteredMessageHandler.h" +#include "IECore/OStreamMessageHandler.h" #include "IECore/ParameterisedInterface.h" #include "IECore/SimpleTypedData.h" -#include "IECore/OStreamMessageHandler.h" -#include "IECorePython/ScopedGILLock.h" +#include "CH/CH_LocalVariable.h" +#include "OBJ/OBJ_Node.h" +#include "PRM/PRM_Include.h" +#include "PRM/PRM_Parm.h" +#include "ROP/ROP_Node.h" +#include "SOP/SOP_Node.h" -#include "IECoreHoudini/CoreHoudini.h" -#include "IECoreHoudini/ParameterisedHolder.h" +#include "boost/bind.hpp" +#include "boost/format.hpp" using namespace boost; using namespace boost::python; diff --git a/src/IECoreHoudini/ROP_SceneCacheWriter.cpp b/src/IECoreHoudini/ROP_SceneCacheWriter.cpp index 4d163e2119..7314804225 100644 --- a/src/IECoreHoudini/ROP_SceneCacheWriter.cpp +++ b/src/IECoreHoudini/ROP_SceneCacheWriter.cpp @@ -32,7 +32,11 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/filesystem/path.hpp" +#include "IECoreHoudini/ROP_SceneCacheWriter.h" + +#include "IECoreHoudini/Convert.h" + +#include "IECoreScene/LinkedScene.h" #include "GA/GA_Names.h" #include "GU/GU_Detail.h" @@ -45,14 +49,10 @@ #include "ROP/ROP_Error.h" #include "SOP/SOP_Node.h" #include "UT/UT_Interrupt.h" -#include "UT/UT_PtrArray.h" #include "UT/UT_StringMMPattern.h" +#include "UT/UT_ValArray.h" -#include "IECoreScene/LinkedScene.h" - -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/LiveScene.h" -#include "IECoreHoudini/ROP_SceneCacheWriter.h" +#include "boost/filesystem/path.hpp" using namespace IECore; using namespace IECoreScene; @@ -194,7 +194,7 @@ int ROP_SceneCacheWriter::startRender( int nframes, fpreal s, fpreal e ) OP_Bundle *bundle = getParmBundle( pForceObjects.getToken(), 0, forceObjects, baseNode, data->getOpFilter() ); // add all of the parent nodes - UT_PtrArray nodes; + UT_ValArray nodes; bundle->getMembers( nodes ); size_t numNodes = nodes.entries(); for ( size_t i = 0; i < numNodes; ++i ) diff --git a/src/IECoreHoudini/SOP_CortexConverter.cpp b/src/IECoreHoudini/SOP_CortexConverter.cpp index 60e15b8043..0974e8ce65 100644 --- a/src/IECoreHoudini/SOP_CortexConverter.cpp +++ b/src/IECoreHoudini/SOP_CortexConverter.cpp @@ -35,23 +35,22 @@ // ////////////////////////////////////////////////////////////////////////// -#include "OP/OP_NodeInfoParms.h" -#include "PRM/PRM_ChoiceList.h" -#include "PRM/PRM_Default.h" -#include "UT/UT_Interrupt.h" -#include "UT/UT_StringMMPattern.h" - -#include "IECoreScene/Group.h" -#include "IECoreScene/WorldBlock.h" -#include "IECorePython/ScopedGILLock.h" -#include "IECorePython/ScopedGILRelease.h" +#include "IECoreHoudini/SOP_CortexConverter.h" #include "IECoreHoudini/DetailSplitter.h" #include "IECoreHoudini/FromHoudiniGeometryConverter.h" #include "IECoreHoudini/GEO_CortexPrimitive.h" #include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" #include "IECoreHoudini/ToHoudiniGeometryConverter.h" -#include "IECoreHoudini/SOP_CortexConverter.h" + +#include "IECoreScene/Group.h" +#include "IECoreScene/WorldBlock.h" + +#include "OP/OP_NodeInfoParms.h" +#include "PRM/PRM_ChoiceList.h" +#include "PRM/PRM_Default.h" +#include "UT/UT_Interrupt.h" +#include "UT/UT_StringMMPattern.h" using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/SOP_OpHolder.cpp b/src/IECoreHoudini/SOP_OpHolder.cpp index e05f24af21..3a38f2398a 100644 --- a/src/IECoreHoudini/SOP_OpHolder.cpp +++ b/src/IECoreHoudini/SOP_OpHolder.cpp @@ -35,15 +35,16 @@ // ////////////////////////////////////////////////////////////////////////// -#include "PRM/PRM_Parm.h" -#include "UT/UT_Interrupt.h" - -#include "IECorePython/ScopedGILLock.h" +#include "IECoreHoudini/SOP_OpHolder.h" #include "IECoreHoudini/DetailSplitter.h" -#include "IECoreHoudini/SOP_OpHolder.h" #include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" +#include "IECorePython/ScopedGILLock.h" + +#include "PRM/PRM_Parm.h" +#include "UT/UT_Interrupt.h" + using namespace boost::python; using namespace IECoreHoudini; @@ -143,6 +144,8 @@ void SOP_OpHolder::doOperation( IECore::Op *op, const GU_DetailHandle &handle, c } catch( boost::python::error_already_set ) { + // \todo: libIECoreHoudini should not use python. Determine if + // this is still required or if the other catch cases are enough. addError( SOP_MESSAGE, "Error raised during Python evaluation!" ); IECorePython::ScopedGILLock lock; PyErr_Print(); diff --git a/src/IECoreHoudini/SOP_ParameterisedHolder.cpp b/src/IECoreHoudini/SOP_ParameterisedHolder.cpp index 663a7e55ed..22ab0bd5f6 100644 --- a/src/IECoreHoudini/SOP_ParameterisedHolder.cpp +++ b/src/IECoreHoudini/SOP_ParameterisedHolder.cpp @@ -35,25 +35,21 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/bind.hpp" -#include "boost/python.hpp" - -#include "GA/GA_AIFBlindData.h" +#include "IECoreHoudini/SOP_ParameterisedHolder.h" -#include "IECore/Op.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" +#include "IECoreHoudini/GEO_CortexPrimitive.h" #include "IECoreScene/Group.h" #include "IECoreScene/WorldBlock.h" -#include "IECorePython/ScopedGILLock.h" -#include "IECorePython/ScopedGILRelease.h" +#include "IECore/Op.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" -#include "IECoreHoudini/SOP_ParameterisedHolder.h" +#include "GA/GA_AIFBlindData.h" + +#include "boost/bind.hpp" using namespace boost; -using namespace boost::python; using namespace IECore; using namespace IECoreScene; diff --git a/src/IECoreHoudini/SOP_SceneCacheSource.cpp b/src/IECoreHoudini/SOP_SceneCacheSource.cpp index 28a299d3e8..12301b142e 100644 --- a/src/IECoreHoudini/SOP_SceneCacheSource.cpp +++ b/src/IECoreHoudini/SOP_SceneCacheSource.cpp @@ -32,16 +32,14 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GA/GA_Names.h" -#include "OP/OP_NodeInfoParms.h" -#include "PRM/PRM_ChoiceList.h" -#include "PRM/PRM_Default.h" -#include "UT/UT_Interrupt.h" -#include "UT/UT_StringMMPattern.h" -#include "UT/UT_WorkArgs.h" +#include "IECoreHoudini/SOP_SceneCacheSource.h" + +#include "IECoreHoudini/GEO_CortexPrimitive.h" +#include "IECoreHoudini/ToHoudiniAttribConverter.h" +#include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" +#include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" -#include "IECore/DespatchTypedData.h" -#include "IECore/TypeTraits.h" #include "IECoreScene/CoordinateSystem.h" #include "IECoreScene/Group.h" #include "IECoreScene/MeshPrimitive.h" @@ -49,12 +47,16 @@ #include "IECoreScene/TransformOp.h" #include "IECoreScene/VisibleRenderable.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" -#include "IECoreHoudini/SOP_SceneCacheSource.h" -#include "IECoreHoudini/ToHoudiniAttribConverter.h" -#include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" -#include "IECoreHoudini/ToHoudiniGeometryConverter.h" -#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" +#include "IECore/DespatchTypedData.h" +#include "IECore/TypeTraits.h" + +#include "GA/GA_Names.h" +#include "OP/OP_NodeInfoParms.h" +#include "PRM/PRM_ChoiceList.h" +#include "PRM/PRM_Default.h" +#include "UT/UT_Interrupt.h" +#include "UT/UT_StringMMPattern.h" +#include "UT/UT_WorkArgs.h" using namespace IECore; using namespace IECoreScene; diff --git a/src/IECoreHoudini/SOP_SceneCacheTransform.cpp b/src/IECoreHoudini/SOP_SceneCacheTransform.cpp index ca6b84822a..4ff395a708 100644 --- a/src/IECoreHoudini/SOP_SceneCacheTransform.cpp +++ b/src/IECoreHoudini/SOP_SceneCacheTransform.cpp @@ -32,16 +32,17 @@ // ////////////////////////////////////////////////////////////////////////// +#include "IECoreHoudini/SOP_SceneCacheTransform.h" + +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/GEO_CortexPrimitive.h" + #include "GA/GA_Names.h" #include "OP/OP_NodeInfoParms.h" #include "PRM/PRM_ChoiceList.h" #include "PRM/PRM_Default.h" #include "UT/UT_Interrupt.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" -#include "IECoreHoudini/SOP_SceneCacheTransform.h" - using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/SceneCacheNode.cpp b/src/IECoreHoudini/SceneCacheNode.cpp index 15ac87b92f..f75787835b 100644 --- a/src/IECoreHoudini/SceneCacheNode.cpp +++ b/src/IECoreHoudini/SceneCacheNode.cpp @@ -32,8 +32,9 @@ // ////////////////////////////////////////////////////////////////////////// -#include "boost/filesystem/operations.hpp" -#include "boost/filesystem/path.hpp" +#include "IECoreHoudini/SceneCacheNode.h" + +#include "IECoreScene/SharedSceneInterfaces.h" #include "CH/CH_Manager.h" #include "OBJ/OBJ_Geometry.h" @@ -43,9 +44,8 @@ #include "SOP/SOP_Node.h" #include "UT/UT_StringMMPattern.h" -#include "IECoreScene/SharedSceneInterfaces.h" - -#include "IECoreHoudini/SceneCacheNode.h" +#include "boost/filesystem/operations.hpp" +#include "boost/filesystem/path.hpp" using namespace IECore; using namespace IECoreScene; @@ -753,4 +753,4 @@ namespace IECoreHoudini template class SceneCacheNode; template class SceneCacheNode; template class SceneCacheNode; -} \ No newline at end of file +} diff --git a/src/IECoreHoudini/ToHoudiniCompoundObjectConverter.cpp b/src/IECoreHoudini/ToHoudiniCompoundObjectConverter.cpp index 00de462e33..3cfe03ab7f 100644 --- a/src/IECoreHoudini/ToHoudiniCompoundObjectConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniCompoundObjectConverter.cpp @@ -32,10 +32,11 @@ // ////////////////////////////////////////////////////////////////////////// -#include "IECore/CompoundObject.h" +#include "IECoreHoudini/ToHoudiniCompoundObjectConverter.h" #include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" -#include "IECoreHoudini/ToHoudiniCompoundObjectConverter.h" + +#include "IECore/CompoundObject.h" using namespace IECore; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/ToHoudiniCortexObjectConverter.cpp b/src/IECoreHoudini/ToHoudiniCortexObjectConverter.cpp index 39a726a8ed..5137a614ec 100644 --- a/src/IECoreHoudini/ToHoudiniCortexObjectConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniCortexObjectConverter.cpp @@ -32,30 +32,31 @@ // ////////////////////////////////////////////////////////////////////////// -#include "SYS/SYS_Types.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" #include "IECoreHoudini/Convert.h" #include "IECoreHoudini/GEO_CortexPrimitive.h" -#include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" #include "IECoreHoudini/ToHoudiniStringAttribConverter.h" -using namespace IECore; -using namespace IECoreScene; -using namespace IECoreHoudini; +#include "SYS/SYS_Types.h" +#include "UT/UT_StringMMPattern.h" + #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" - -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +using namespace IECore; +using namespace IECoreScene; +using namespace IECoreHoudini; + IE_CORE_DEFINERUNTIMETYPED( ToHoudiniCortexObjectConverter ); ToHoudiniGeometryConverter::Description ToHoudiniCortexObjectConverter::m_description( ObjectTypeId ); diff --git a/src/IECoreHoudini/ToHoudiniCurvesConverter.cpp b/src/IECoreHoudini/ToHoudiniCurvesConverter.cpp index eaf98cda24..88facccc1b 100644 --- a/src/IECoreHoudini/ToHoudiniCurvesConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniCurvesConverter.cpp @@ -32,17 +32,17 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GU/GU_PrimNURBCurve.h" -#include "GU/GU_PrimPoly.h" - -#include "IECore/DespatchTypedData.h" +#include "IECoreHoudini/ToHoudiniCurvesConverter.h" #include "IECoreHoudini/ToHoudiniAttribConverter.h" -#include "IECoreHoudini/ToHoudiniCurvesConverter.h" #include "IECoreHoudini/ToHoudiniPolygonsConverter.h" - #include "IECoreHoudini/TypeTraits.h" +#include "IECore/DespatchTypedData.h" + +#include "GU/GU_PrimNURBCurve.h" +#include "GU/GU_PrimPoly.h" + using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/ToHoudiniGeometryConverter.cpp b/src/IECoreHoudini/ToHoudiniGeometryConverter.cpp index f099f7f554..f2c46d49e8 100644 --- a/src/IECoreHoudini/ToHoudiniGeometryConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniGeometryConverter.cpp @@ -32,17 +32,18 @@ // ////////////////////////////////////////////////////////////////////////// -#include "SYS/SYS_Types.h" -#include "UT/UT_StringMMPattern.h" +#include "IECoreHoudini/ToHoudiniGeometryConverter.h" + +#include "IECoreHoudini/Convert.h" +#include "IECoreHoudini/ToHoudiniAttribConverter.h" +#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" #include "IECore/CompoundData.h" #include "IECore/CompoundParameter.h" #include "IECore/MessageHandler.h" -#include "IECoreHoudini/Convert.h" -#include "IECoreHoudini/ToHoudiniAttribConverter.h" -#include "IECoreHoudini/ToHoudiniGeometryConverter.h" -#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" +#include "SYS/SYS_Types.h" +#include "UT/UT_StringMMPattern.h" using namespace IECore; using namespace IECoreScene; diff --git a/src/IECoreHoudini/ToHoudiniPointsConverter.cpp b/src/IECoreHoudini/ToHoudiniPointsConverter.cpp index 233aa0094e..decb07d2fa 100644 --- a/src/IECoreHoudini/ToHoudiniPointsConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniPointsConverter.cpp @@ -32,10 +32,10 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GU/GU_PrimPart.h" - #include "IECoreHoudini/ToHoudiniPointsConverter.h" +#include "GU/GU_PrimPart.h" + using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/ToHoudiniPolygonsConverter.cpp b/src/IECoreHoudini/ToHoudiniPolygonsConverter.cpp index ea6a87ab44..d331993666 100644 --- a/src/IECoreHoudini/ToHoudiniPolygonsConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniPolygonsConverter.cpp @@ -32,12 +32,13 @@ // ////////////////////////////////////////////////////////////////////////// -#include "GU/GU_EdgeCreaseParms.h" -#include "GU/GU_PrimPoly.h" - #include "IECoreHoudini/ToHoudiniPolygonsConverter.h" + #include "IECoreHoudini/ToHoudiniStringAttribConverter.h" +#include "GU/GU_EdgeCreaseParms.h" +#include "GU/GU_PrimPoly.h" + using namespace IECore; using namespace IECoreScene; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/ToHoudiniQuatAttribConverter.cpp b/src/IECoreHoudini/ToHoudiniQuatAttribConverter.cpp index 80f38d6c82..c06ed194d9 100644 --- a/src/IECoreHoudini/ToHoudiniQuatAttribConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniQuatAttribConverter.cpp @@ -32,10 +32,10 @@ // ////////////////////////////////////////////////////////////////////////// -#include "IECore/MessageHandler.h" - #include "IECoreHoudini/ToHoudiniQuatAttribConverter.h" +#include "IECore/MessageHandler.h" + using namespace IECore; namespace IECoreHoudini diff --git a/src/IECoreHoudini/ToHoudiniStringAttribConverter.cpp b/src/IECoreHoudini/ToHoudiniStringAttribConverter.cpp index 474638227c..5acfbfc59b 100644 --- a/src/IECoreHoudini/ToHoudiniStringAttribConverter.cpp +++ b/src/IECoreHoudini/ToHoudiniStringAttribConverter.cpp @@ -32,18 +32,15 @@ // ////////////////////////////////////////////////////////////////////////// -#include "UT/UT_Version.h" +#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" -#if UT_MAJOR_VERSION_INT >= 17 +#include "IECore/MessageHandler.h" +#include "UT/UT_Version.h" +#if UT_MAJOR_VERSION_INT >= 17 #include "UT/UT_StdUtil.h" - #endif -#include "IECore/MessageHandler.h" - -#include "IECoreHoudini/ToHoudiniStringAttribConverter.h" - using namespace IECore; namespace IECoreHoudini diff --git a/src/IECoreHoudini/bindings/FnParameterisedHolderBinding.cpp b/src/IECoreHoudini/bindings/FnParameterisedHolderBinding.cpp index 06bfb04dab..28164b8420 100644 --- a/src/IECoreHoudini/bindings/FnParameterisedHolderBinding.cpp +++ b/src/IECoreHoudini/bindings/FnParameterisedHolderBinding.cpp @@ -34,14 +34,156 @@ #include "boost/python.hpp" -#include "OP/OP_Node.h" - -#include "IECoreHoudini/FnParameterisedHolder.h" #include "IECoreHoudini/bindings/FnParameterisedHolderBinding.h" +#include "IECoreHoudini/NodeHandle.h" +#include "IECoreHoudini/ParameterisedHolderInterface.h" + +#include "OP/OP_Node.h" + using namespace boost::python; using namespace IECoreHoudini; +namespace +{ + +class FnParameterisedHolder +{ + public : + + FnParameterisedHolder( OP_Node *node=0 ) + : m_handle() + { + if ( !node ) + { + return; + } + + if ( getHolder( node ) ) + { + setHolder( node ); + } + else + { + UT_String path; + node->getFullPath( path ); + std::cerr << path << " was not a valid ieParameterisedHolder!" << std::endl; + } + } + + virtual ~FnParameterisedHolder() + { + } + + bool hasParameterised() + { + if ( hasHolder() ) + { + ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); + if ( holder ) + { + return holder->hasParameterised(); + } + } + + return false; + } + + void setParameterised( IECore::RunTimeTypedPtr p ) + { + if ( !p || !hasHolder() ) + { + return; + } + + ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); + if ( !holder ) + { + return; + } + + holder->setParameterised( p ); + } + + void setParameterised( const std::string &className, int classVerison, const std::string &seachPathEnvVar ) + { + if ( !hasHolder() ) + { + return; + } + + ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); + if ( !holder ) + { + return; + } + + holder->setParameterised( className, classVerison, seachPathEnvVar ); + } + + /// Sets the values of the parameters of the held Parameterised object + /// to reflect the values of the attributes of the node. + /// \todo: add setNodeValues as well + void setParameterisedValues( double time ) + { + if ( !hasHolder() ) + { + return; + } + + ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); + if ( !holder ) + { + return; + } + + holder->setParameterisedValues( time ); + } + + + IECore::RunTimeTypedPtr getParameterised() + { + if ( hasHolder() ) + { + ParameterisedHolderInterface *holder = getHolder( static_cast( m_handle.node() ) ); + if ( holder ) + { + return holder->getParameterised(); + } + } + + return nullptr; + } + + + private : + + bool hasHolder() + { + return m_handle.alive(); + } + + void setHolder( OP_Node *node ) + { + m_handle = node; + } + + ParameterisedHolderInterface *getHolder( OP_Node *node ) + { + if ( node ) + { + return dynamic_cast( node ); + } + + return nullptr; + } + + NodeHandle m_handle; + +}; + +} // namespace + void IECoreHoudini::bindFnParameterisedHolder() { class_( "_FnParameterisedHolder" ) diff --git a/src/IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.cpp index 334665866e..21402f7dc7 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.h" + +#include "IECoreHoudini/FromHoudiniCompoundObjectConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/FromHoudiniCompoundObjectConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/FromHoudiniConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniConverterBinding.cpp index d14ac6e71a..98606a61cc 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniConverterBinding.cpp @@ -34,10 +34,11 @@ #include "boost/python.hpp" -#include "IECorePython/RunTimeTypedBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniConverterBinding.h" #include "IECoreHoudini/FromHoudiniConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniConverterBinding.h" + +#include "IECorePython/RunTimeTypedBinding.h" using namespace IECoreHoudini; using namespace boost::python; diff --git a/src/IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.cpp index b0772eeb95..b1b33b3387 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.h" + +#include "IECoreHoudini/FromHoudiniCortexObjectConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/FromHoudiniCortexObjectConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.cpp index 4a0fbfdf91..f5166fb375 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.h" + +#include "IECoreHoudini/FromHoudiniCurvesConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/FromHoudiniCurvesConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.cpp index d301bcdf3e..43c37cfc2e 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.cpp @@ -34,17 +34,18 @@ #include "boost/python.hpp" -#include "HOM/HOM_Geometry.h" -#include "HOM/HOM_GUDetailHandle.h" +#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" -#include "IECore/Exception.h" +#include "IECoreHoudini/FromHoudiniGeometryConverter.h" #include "IECorePython/IECoreBinding.h" #include "IECorePython/RunTimeTypedBinding.h" #include "IECorePython/ScopedGILRelease.h" -#include "IECoreHoudini/FromHoudiniGeometryConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" +#include "IECore/Exception.h" + +#include "HOM/HOM_GUDetailHandle.h" +#include "HOM/HOM_Geometry.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.cpp index 6e91af9b71..a76784b199 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.h" + +#include "IECoreHoudini/FromHoudiniPointsConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/FromHoudiniPointsConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.cpp b/src/IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.cpp index e62b9b7a70..7435025584 100644 --- a/src/IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.h" + +#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/FromHoudiniPolygonsConverter.h" -#include "IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/IECoreHoudiniModule.cpp b/src/IECoreHoudini/bindings/IECoreHoudiniModule.cpp index 37761224d8..c2668d8195 100644 --- a/src/IECoreHoudini/bindings/IECoreHoudiniModule.cpp +++ b/src/IECoreHoudini/bindings/IECoreHoudiniModule.cpp @@ -36,56 +36,57 @@ ////////////////////////////////////////////////////////////////////////// #include "boost/python.hpp" -#include "boost/python/suite/indexing/vector_indexing_suite.hpp" -#include "UT/UT_Version.h" +#include "IECoreHoudini/bindings/FnParameterisedHolderBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.h" +#include "IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.h" +#include "IECoreHoudini/bindings/LiveSceneBinding.h" +#include "IECoreHoudini/bindings/SceneCacheNodeBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniGeometryConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.h" +#include "IECoreHoudini/bindings/TypeIdBinding.h" + +#include "IECoreHoudini/CoreHoudini.h" +#include "IECoreHoudini/CoreHoudiniVersion.h" + +#include "IECorePython/PointerFromSWIG.h" + +#include "IECore/Object.h" +#include "IECore/Parameterised.h" + +#include "HOM/HOM_Geometry.h" +#include "HOM/HOM_Node.h" +#include "OP/OP_Director.h" +#include "OP/OP_Node.h" // must be included before RE_Visual to avoid a compilation // error todo with QT_NO_EMIT in QtCore/qobjectdefs.h #include "RE/RE_Render.h" - +#include "UT/UT_Version.h" #if UT_MAJOR_VERSION_INT >= 16 - #include "RE/RE_Visual.h" - #elif UT_MAJOR_VERSION_INT >= 14 - #include "RE/RE_QtVisual.h" - #endif -#include "OP/OP_Director.h" -#include "OP/OP_Node.h" -#include "SOP/SOP_Node.h" -#include "HOM/HOM_Node.h" -#include "HOM/HOM_Geometry.h" -#include "RE/RE_Window.h" +#include "RE/RE_Render.h" #include "RE/RE_Server.h" +#include "RE/RE_Visual.h" +#include "RE/RE_Window.h" +#include "SOP/SOP_Node.h" -#include "IECore/Object.h" -#include "IECore/Parameterised.h" -#include "IECorePython/PointerFromSWIG.h" +#include "boost/python/suite/indexing/vector_indexing_suite.hpp" -#include "IECoreHoudini/CoreHoudiniVersion.h" -#include "IECoreHoudini/CoreHoudini.h" -#include "IECoreHoudini/bindings/TypeIdBinding.h" -#include "IECoreHoudini/bindings/FnParameterisedHolderBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniConverterBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniGeometryConverterBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniPointsConverterBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniPolygonsConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniGeometryConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniCurvesConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.h" -#include "IECoreHoudini/bindings/SceneCacheNodeBinding.h" -#include "IECoreHoudini/bindings/LiveSceneBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniCortexObjectConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.h" -#include "IECoreHoudini/bindings/FromHoudiniCompoundObjectConverterBinding.h" -#include "IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.h" using namespace IECoreHoudini; using namespace boost::python; diff --git a/src/IECoreHoudini/bindings/LiveSceneBinding.cpp b/src/IECoreHoudini/bindings/LiveSceneBinding.cpp index 5fd1719044..ba887012b6 100644 --- a/src/IECoreHoudini/bindings/LiveSceneBinding.cpp +++ b/src/IECoreHoudini/bindings/LiveSceneBinding.cpp @@ -33,15 +33,17 @@ ////////////////////////////////////////////////////////////////////////// #include "boost/python.hpp" -#include "boost/python/suite/indexing/container_utils.hpp" + +#include "IECoreHoudini/bindings/LiveSceneBinding.h" #include "IECoreHoudini/CoreHoudini.h" #include "IECoreHoudini/LiveScene.h" -#include "IECoreHoudini/bindings/LiveSceneBinding.h" #include "IECorePython/IECoreBinding.h" #include "IECorePython/RunTimeTypedBinding.h" +#include "boost/python/suite/indexing/container_utils.hpp" + using namespace IECoreHoudini; using namespace boost::python; diff --git a/src/IECoreHoudini/bindings/SceneCacheNodeBinding.cpp b/src/IECoreHoudini/bindings/SceneCacheNodeBinding.cpp index 3e0f39c25f..551b562a64 100644 --- a/src/IECoreHoudini/bindings/SceneCacheNodeBinding.cpp +++ b/src/IECoreHoudini/bindings/SceneCacheNodeBinding.cpp @@ -34,17 +34,17 @@ #include "boost/python.hpp" -#include "OP/OP_Node.h" +#include "IECoreHoudini/bindings/SceneCacheNodeBinding.h" -#include "IECore/MessageHandler.h" +#include "IECoreHoudini/NodeHandle.h" +#include "IECoreHoudini/OBJ_SceneCacheTransform.h" +#include "IECoreHoudini/SceneCacheNode.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/SceneCacheNode.h" -#include "IECoreHoudini/OBJ_SceneCacheTransform.h" -#include "IECoreHoudini/NodeHandle.h" +#include "IECore/MessageHandler.h" -#include "IECoreHoudini/bindings/SceneCacheNodeBinding.h" +#include "OP/OP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudinGeometryConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudinGeometryConverterBinding.cpp index a3695ca4ab..34eacf5e32 100644 --- a/src/IECoreHoudini/bindings/ToHoudinGeometryConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudinGeometryConverterBinding.cpp @@ -34,15 +34,15 @@ #include "boost/python.hpp" -#include "CH/CH_Manager.h" -#include "HOM/HOM_Geometry.h" -#include "HOM/HOM_GUDetailHandle.h" -#include "SOP/SOP_Node.h" +#include "IECoreHoudini/ToHoudiniGeometryConverter.h" +#include "IECoreHoudini/bindings/ToHoudiniGeometryConverterBinding.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/ToHoudiniGeometryConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniGeometryConverterBinding.h" +#include "CH/CH_Manager.h" +#include "HOM/HOM_GUDetailHandle.h" +#include "HOM/HOM_Geometry.h" +#include "SOP/SOP_Node.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.cpp index b6e8e965a2..61da765562 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.cpp @@ -34,12 +34,13 @@ #include "boost/python.hpp" -#include "IECore/CompoundObject.h" +#include "IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.h" + +#include "IECoreHoudini/ToHoudiniCompoundObjectConverter.h" #include "IECorePython/RunTimeTypedBinding.h" -#include "IECoreHoudini/ToHoudiniCompoundObjectConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniCompoundObjectConverterBinding.h" +#include "IECore/CompoundObject.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniConverterBinding.cpp index 5061695161..9846b8c3d0 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniConverterBinding.cpp @@ -34,9 +34,10 @@ #include "boost/python.hpp" -#include "IECoreHoudini/ToHoudiniConverter.h" #include "IECoreHoudini/bindings/ToHoudiniConverterBinding.h" +#include "IECoreHoudini/ToHoudiniConverter.h" + #include "IECorePython/RunTimeTypedBinding.h" using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.cpp index 922402ad92..ebf9939b41 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.cpp @@ -34,10 +34,11 @@ #include "boost/python.hpp" -#include "IECorePython/RunTimeTypedBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.h" #include "IECoreHoudini/ToHoudiniCortexObjectConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniCortexObjectConverterBinding.h" + +#include "IECorePython/RunTimeTypedBinding.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.cpp index 7fb4245728..4544e8abc1 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.cpp @@ -34,10 +34,11 @@ #include "boost/python.hpp" -#include "IECorePython/RunTimeTypedBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.h" #include "IECoreHoudini/ToHoudiniCurvesConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniCurvesConverterBinding.h" + +#include "IECorePython/RunTimeTypedBinding.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.cpp index 53a4b815aa..2e9757e895 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.cpp @@ -34,10 +34,11 @@ #include "boost/python.hpp" -#include "IECorePython/RunTimeTypedBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.h" #include "IECoreHoudini/ToHoudiniPointsConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniPointsConverterBinding.h" + +#include "IECorePython/RunTimeTypedBinding.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.cpp b/src/IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.cpp index 8b68b39b31..93cfe2c941 100644 --- a/src/IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.cpp +++ b/src/IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.cpp @@ -34,10 +34,11 @@ #include "boost/python.hpp" -#include "IECorePython/RunTimeTypedBinding.h" +#include "IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.h" #include "IECoreHoudini/ToHoudiniPolygonsConverter.h" -#include "IECoreHoudini/bindings/ToHoudiniPolygonsConverterBinding.h" + +#include "IECorePython/RunTimeTypedBinding.h" using namespace boost::python; using namespace IECoreHoudini; diff --git a/src/IECoreHoudini/bindings/TypeIdBinding.cpp b/src/IECoreHoudini/bindings/TypeIdBinding.cpp index d1563790f0..9fb3ec7e4c 100644 --- a/src/IECoreHoudini/bindings/TypeIdBinding.cpp +++ b/src/IECoreHoudini/bindings/TypeIdBinding.cpp @@ -32,11 +32,12 @@ // ////////////////////////////////////////////////////////////////////////// -#include +#include "boost/python.hpp" -#include "IECoreHoudini/TypeIds.h" #include "IECoreHoudini/bindings/TypeIdBinding.h" +#include "IECoreHoudini/TypeIds.h" + using namespace boost::python; namespace IECoreHoudini diff --git a/src/IECoreHoudini/plugin/Plugin.cpp b/src/IECoreHoudini/plugin/Plugin.cpp index 10e99ab90a..fe0a2c95d5 100644 --- a/src/IECoreHoudini/plugin/Plugin.cpp +++ b/src/IECoreHoudini/plugin/Plugin.cpp @@ -35,52 +35,38 @@ // ////////////////////////////////////////////////////////////////////////// -#include - -#include -#include -#include -#include - -/// Used to our new Render Hook for Houdini 12.5 and later -#if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5 - -#include "DM/DM_RenderTable.h" - -#endif - +#include "IECoreHoudini/GEO_CobIOTranslator.h" +#include "IECoreHoudini/GEO_CortexPrimitive.h" +#include "IECoreHoudini/GU_CortexPrimitive.h" #include "IECoreHoudini/OBJ_SceneCacheGeometry.h" #include "IECoreHoudini/OBJ_SceneCacheTransform.h" +#include "IECoreHoudini/ROP_SceneCacheWriter.h" +#include "IECoreHoudini/SOP_CortexConverter.h" #include "IECoreHoudini/SOP_OpHolder.h" #include "IECoreHoudini/SOP_ParameterisedHolder.h" -#include "IECoreHoudini/SOP_CortexConverter.h" #include "IECoreHoudini/SOP_SceneCacheSource.h" #include "IECoreHoudini/SOP_SceneCacheTransform.h" -#include "IECoreHoudini/ROP_SceneCacheWriter.h" -#include "IECoreHoudini/GEO_CobIOTranslator.h" -#include "IECoreHoudini/GEO_CortexPrimitive.h" - -#if UT_MAJOR_VERSION_INT == 12 && UT_MINOR_VERSION_INT <= 1 - - #include - #include "IECoreHoudini/GR_Cortex.h" -#endif - -using namespace IECoreHoudini; +#include "DM/DM_RenderTable.h" +#include "OP/OP_OperatorTable.h" +#include "UT/UT_DSOVersion.h" +#include "UT/UT_IOTable.h" +#include "UT/UT_Version.h" #if UT_MAJOR_VERSION_INT >= 14 -typedef GEO_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GEO_CortexPrimitive CortexPrimitive; #else #include "IECoreHoudini/GU_CortexPrimitive.h" -typedef GU_CortexPrimitive CortexPrimitive; +typedef IECoreHoudini::GU_CortexPrimitive CortexPrimitive; #endif +using namespace IECoreHoudini; + /// Tell Houdini that this plugin should be loaded with RTLD_GLOBAL extern "C" {