From 663d9b52bc0b7bc5cbf34051136c777b410f3196 Mon Sep 17 00:00:00 2001 From: Andrew Kaufman Date: Mon, 14 Feb 2022 10:11:52 -0800 Subject: [PATCH 1/2] Houdini : Update for GCC 9 --- src/IECoreHoudini/GEO_CobIOTranslator.cpp | 2 +- src/IECoreHoudini/NodeHandle.cpp | 2 +- src/IECoreHoudini/SOP_OpHolder.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/IECoreHoudini/GEO_CobIOTranslator.cpp b/src/IECoreHoudini/GEO_CobIOTranslator.cpp index a539d9aa7b..7e436f250c 100644 --- a/src/IECoreHoudini/GEO_CobIOTranslator.cpp +++ b/src/IECoreHoudini/GEO_CobIOTranslator.cpp @@ -148,7 +148,7 @@ GA_Detail::IOStatus GEO_CobIOTranslator::fileSaveToFile( const GEO_Detail *geo, WriterPtr writer = Writer::create( object, fileName ); writer->write(); } - catch ( IECore::Exception e ) + catch ( IECore::Exception &e ) { return false; } diff --git a/src/IECoreHoudini/NodeHandle.cpp b/src/IECoreHoudini/NodeHandle.cpp index 714c05b6c1..eb3e8cd724 100644 --- a/src/IECoreHoudini/NodeHandle.cpp +++ b/src/IECoreHoudini/NodeHandle.cpp @@ -79,7 +79,7 @@ OP_Node *NodeHandle::node() const return node; } } - catch( HOM_ObjectWasDeleted ) + catch( HOM_ObjectWasDeleted &e ) { } diff --git a/src/IECoreHoudini/SOP_OpHolder.cpp b/src/IECoreHoudini/SOP_OpHolder.cpp index 3a38f2398a..8718728ce2 100644 --- a/src/IECoreHoudini/SOP_OpHolder.cpp +++ b/src/IECoreHoudini/SOP_OpHolder.cpp @@ -142,7 +142,7 @@ void SOP_OpHolder::doOperation( IECore::Op *op, const GU_DetailHandle &handle, c { result = op->operate(); } - catch( boost::python::error_already_set ) + catch( boost::python::error_already_set &e ) { // \todo: libIECoreHoudini should not use python. Determine if // this is still required or if the other catch cases are enough. From fbc233950c2d25d915c16bf15fe7cb64548792a8 Mon Sep 17 00:00:00 2001 From: Andrew Kaufman Date: Thu, 17 Feb 2022 13:02:22 -0800 Subject: [PATCH 2/2] Houdini Tests : Use legacy curve node Houdini 19 turned `curve` into an HDA and it does not seem to expose parms for setting points directly. Rather than branch the code here we can just use the legacy curve node for now --- test/IECoreHoudini/FromHoudiniCurvesConverter.py | 11 +++++++++-- test/IECoreHoudini/ToHoudiniCurvesConverter.py | 6 +++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/test/IECoreHoudini/FromHoudiniCurvesConverter.py b/test/IECoreHoudini/FromHoudiniCurvesConverter.py index 539d5811fb..5fef4186f2 100644 --- a/test/IECoreHoudini/FromHoudiniCurvesConverter.py +++ b/test/IECoreHoudini/FromHoudiniCurvesConverter.py @@ -56,7 +56,11 @@ def createCurve( self, order=2, periodic=False, parent=None, coordIndex=0 ) : obj = hou.node("/obj") parent = obj.createNode("geo", run_init_scripts=False) - curve = parent.createNode( "curve" ) + if hou.applicationVersion()[0] >= 19 : + curve = parent.createNode( "curve::" ) + else : + curve = parent.createNode( "curve" ) + curve.parm( "type" ).set( 1 ) # NURBS curve.parm( "order" ).set( order ) curve.parm( "close" ).set( periodic ) @@ -510,7 +514,10 @@ def testAllOpenPolygonsConvertedAsLinearCurves( self ) : obj = hou.node( "/obj" ) parent = obj.createNode( "geo", run_init_scripts = False ) - curves = [parent.createNode( "curve" ), parent.createNode( "curve" ), parent.createNode( "curve" )] + if hou.applicationVersion()[0] >= 19 : + curves = [parent.createNode( "curve::" ), parent.createNode( "curve::" ), parent.createNode( "curve::" )] + else : + curves = [parent.createNode( "curve" ), parent.createNode( "curve" ), parent.createNode( "curve" )] names = [parent.createNode( "name" ), parent.createNode( "name" ), parent.createNode( "name" )] curves[0].parm( "type" ).set( 0 ) # polygon diff --git a/test/IECoreHoudini/ToHoudiniCurvesConverter.py b/test/IECoreHoudini/ToHoudiniCurvesConverter.py index 9ea3e3c5a2..480ae5b730 100644 --- a/test/IECoreHoudini/ToHoudiniCurvesConverter.py +++ b/test/IECoreHoudini/ToHoudiniCurvesConverter.py @@ -178,7 +178,11 @@ def curveSop( self, order=2, periodic=False, parent=None, coordIndex=0 ) : obj = hou.node("/obj") parent = obj.createNode("geo", run_init_scripts=False) - curve = parent.createNode( "curve" ) + if hou.applicationVersion()[0] >= 19 : + curve = parent.createNode( "curve::" ) + else : + curve = parent.createNode( "curve" ) + curve.parm( "type" ).set( 1 ) # NURBS curve.parm( "order" ).set( order ) curve.parm( "close" ).set( periodic )