diff --git a/Changes b/Changes index dde0822df9..feddf8b6de 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,14 @@ +10.4.3.1 (relative to 10.4.3.0) +======== + +Fixes +--- + +- IECoreMaya.SceneShapeSubSceneOverride : Visibility override fixes (#1320). + - Removed SceneInterface visibility check, as it is now obsolete and causing issues. + - Check visibility for root locations, so bounds aren't incorrectly drawn. +- VDBObject : Fixed infinite recursion in isEqualTo() (#1314). + 10.4.3.0 (relative to 10.4.2.1) ======== @@ -135,6 +146,16 @@ Build - Updated IE options file to support Nuke 13.x custom dependencies (#1263). +10.3.8.1 (relative to 10.3.8.0) +======== + +Fixes +--- + +- IECoreMaya.SceneShapeSubSceneOverride : Visibility override fixes (#1320). + - Removed SceneInterface visibility check, as it is now obsolete and causing issues. + - Check visibility for root locations, so bounds aren't incorrectly drawn. + 10.3.8.0 (relative to 10.3.7.2) ======== diff --git a/SConstruct b/SConstruct index 0b0a517c43..9a2e455ac4 100644 --- a/SConstruct +++ b/SConstruct @@ -57,7 +57,7 @@ SConsignFile() ieCoreMilestoneVersion = 10 # for announcing major milestones - may contain all of the below ieCoreMajorVersion = 4 # backwards-incompatible changes ieCoreMinorVersion = 3 # new backwards-compatible features -ieCorePatchVersion = 0 # bug fixes +ieCorePatchVersion = 1 # bug fixes ieCoreVersionSuffix = "" # used for alpha/beta releases. Example: "a1", "b2", etc. ########################################################################################### diff --git a/src/IECoreMaya/SceneShapeSubSceneOverride.cpp b/src/IECoreMaya/SceneShapeSubSceneOverride.cpp index b1eb89c544..419086c5e9 100644 --- a/src/IECoreMaya/SceneShapeSubSceneOverride.cpp +++ b/src/IECoreMaya/SceneShapeSubSceneOverride.cpp @@ -1418,16 +1418,6 @@ void SceneShapeSubSceneOverride::visitSceneLocations( const SceneInterface *scen return; } - // respect visibility attribute - if( sceneInterface->hasAttribute( SceneInterface::visibilityName ) ) - { - ConstBoolDataPtr vis = runTimeCast( sceneInterface->readAttribute( SceneInterface::visibilityName, m_time ) ); - if( vis && !vis->readable() ) - { - return; - } - } - MMatrix accumulatedMatrix; if( !isRoot ) { @@ -1473,6 +1463,10 @@ void SceneShapeSubSceneOverride::visitSceneLocations( const SceneInterface *scen int count = 0; for( const auto &instance : m_instances ) { + if ( !instance.visible ) + { + continue; + } std::string instanceName = rootItemName + "_" + std::to_string( count++ ); MString itemName( instanceName.c_str() ); MRenderItem *renderItem = acquireRenderItem( container, IECore::NullObject::defaultNullObject(), instance, relativeLocation, bound, itemName, RenderStyle::BoundingBox ); diff --git a/src/IECoreVDB/VDBObject.cpp b/src/IECoreVDB/VDBObject.cpp index c96cfea9c2..8a3d8244e0 100644 --- a/src/IECoreVDB/VDBObject.cpp +++ b/src/IECoreVDB/VDBObject.cpp @@ -286,7 +286,7 @@ IECore::CompoundObjectPtr VDBObject::metadata( const std::string &name ) bool VDBObject::isEqualTo( const IECore::Object *other ) const { - if( !IECoreScene::VisibleRenderable::isNotEqualTo( other ) ) + if( !IECoreScene::VisibleRenderable::isEqualTo( other ) ) { return false; } diff --git a/test/IECoreVDB/VDBObjectTest.py b/test/IECoreVDB/VDBObjectTest.py index 7b15fede6e..a43aa316c4 100644 --- a/test/IECoreVDB/VDBObjectTest.py +++ b/test/IECoreVDB/VDBObjectTest.py @@ -260,6 +260,16 @@ def testFilename( self ) : emptyVDB = IECoreVDB.VDBObject() self.assertEqual( emptyVDB.fileName(), "" ) + def testEquality( self ) : + + o = IECoreVDB.VDBObject( os.path.join( self.dataDir, "smoke.vdb" ) ) + self.assertEqual( o, o ) + + o2 = o.copy() + o2.findGrid( "density" ).mapAll( lambda value : value + 1 ) + + self.assertNotEqual( o2, o ) + self.assertEqual( o2, o2 ) if __name__ == "__main__": unittest.main()