span8
span4
span8
span4
The AppearanceSetter transformer sets appearance styles to the front and/or back sides of geometries.Features that are not directly modified by the transformer may still be indirectly changed,so the HOLDER input port can be used to hold back features until the transformer completes its processing.This way,you can ensure the transformer completes all processing before allowing features to continue on in the workspace.All features will be passed through the output HOLDER port.
FME maintains a library of appearance definitions,which are separate from geometries.When a feature is processed by the writer,it retrieves its appearance definition from this library.If the AppearanceSetter changes an appearance definition mid-write,any features written after this change will be written with the new appearance.However,features written before this change will have the old appearance.This is where the HOLDER port comes in handy.The features are all held back until the AppearanceSetter is finished its processing.That way,all features passing through will point to the new appearance definition.
Download and open the attached workspace template (HOLDER_Demo.fmwt) to see an example that yields different results when using the HOLDER port.The purpose of this workspace is to use the AppearanceSetter to replace the textures on the given Google Sketchup model's windows.The Tester transformer helps simulate a situation where we don't know the order in which the features will enter the AppearanceSetter,by setting a test condition such as "_part_number = 600".The visualized output is only complete if we pass all features through the HOLDER port,since they will get held back until all processing completes on the geometries.First,run the workspace as-is,with the HOLDER port unused.When viewing the output in the Data Inspector,you will see that some of the appearances have been updated and some haven't.This is because of the the arbitrary order that the features were passed through the AppearanceSetter: some features retrieved their appearancebeforethe AppearanceSetter replaced it,and some features retrieved their appearanceafterit was replaced.
Image: Some textures have been updated in the destination and some have not.
Next,disable the connection between the Deaggregator and the Inspector transformer.Enable the connection between the Deaggregator and the AppearanceSetter.Run the workspace again.In the Data Inspector,you will see that all of the textures are updated.This is because the features were all held by the HOLDER port until the processing was complete,so all features retrieved the updated appearance.
Image: After sending features through the HOLDER port,all textures are successfully updated in the destination.
* Data adapted from 3DPilot and its participants.Please see www.geonovum.nlfor more information.
© 2019 亚搏在线Safe Software Inc |Legal