2424 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2525 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2626 DEALINGS IN THE SOFTWARE.
27- */
27+ */
2828
2929#ifndef MODULES_FIELDS_EDITMESHBOUNDINGBOX_H
3030#define MODULES_FIELDS_EDITMESHBOUNDINGBOX_H
@@ -39,74 +39,76 @@ namespace SCIRun {
3939 class BoxWidgetInterface ;
4040 typedef boost::shared_ptr<BoxWidgetInterface> BoxWidgetPtr;
4141
42- namespace Modules {
43- namespace Fields {
44-
45- class EditMeshBoundingBoxImpl ;
46-
47- class SCISHARE EditMeshBoundingBox : public Dataflow::Networks::GeometryGeneratingModule,
48- public Has1InputPort<FieldPortTag>,
49- public Has3OutputPorts<FieldPortTag, GeometryPortTag, MatrixPortTag>
50- {
51- public:
52- EditMeshBoundingBox ();
53- virtual void execute ();
54- virtual void setStateDefaults ();
55-
56- static const Core::Algorithms::AlgorithmParameterName Resetting;
57- // Input Field Attributes
58- static const Core::Algorithms::AlgorithmParameterName InputCenterX;
59- static const Core::Algorithms::AlgorithmParameterName InputCenterY;
60- static const Core::Algorithms::AlgorithmParameterName InputCenterZ;
61- static const Core::Algorithms::AlgorithmParameterName InputSizeX;
62- static const Core::Algorithms::AlgorithmParameterName InputSizeY;
63- static const Core::Algorithms::AlgorithmParameterName InputSizeZ;
64- // Outpuconst t Field Atributes
65- static const Core::Algorithms::AlgorithmParameterName UseOutputCenter;
66- static const Core::Algorithms::AlgorithmParameterName UseOutputSize;
67- static const Core::Algorithms::AlgorithmParameterName OutputCenterX;
68- static const Core::Algorithms::AlgorithmParameterName OutputCenterY;
69- static const Core::Algorithms::AlgorithmParameterName OutputCenterZ;
70- static const Core::Algorithms::AlgorithmParameterName OutputSizeX;
71- static const Core::Algorithms::AlgorithmParameterName OutputSizeY;
72- static const Core::Algorithms::AlgorithmParameterName OutputSizeZ;
73- // Widgeconst t Scale/Mode
74- static const Core::Algorithms::AlgorithmParameterName Scale;
75- static const Core::Algorithms::AlgorithmParameterName NoTranslation;
76- static const Core::Algorithms::AlgorithmParameterName XYZTranslation;
77- static const Core::Algorithms::AlgorithmParameterName RDITranslation;
78- static const Core::Algorithms::AlgorithmParameterName RestrictX;
79- static const Core::Algorithms::AlgorithmParameterName RestrictY;
80- static const Core::Algorithms::AlgorithmParameterName RestrictZ;
81- static const Core::Algorithms::AlgorithmParameterName RestrictR;
82- static const Core::Algorithms::AlgorithmParameterName RestrictD;
83- static const Core::Algorithms::AlgorithmParameterName RestrictI;
84-
85- static const Core::Algorithms::AlgorithmParameterName BoxMode;
86- static const Core::Algorithms::AlgorithmParameterName BoxRealScale;
87-
88- INPUT_PORT (0 , InputField, LegacyField);
89- OUTPUT_PORT (0 , OutputField, LegacyField);
90- OUTPUT_PORT (1 , Transformation_Widget, GeometryObject);
91- OUTPUT_PORT (2 , Transformation_Matrix, Matrix);
92-
93- static const Dataflow::Networks::ModuleLookupInfo staticInfo_;
94- private:
95- void executeImpl (FieldHandle f);
96- void clear_vals ();
97- void update_input_attributes (FieldHandle);
98- void build_widget (FieldHandle, bool reset);
99- bool isBoxEmpty () const ;
100- void widget_moved (bool );
101- void createBoxWidget ();
102- void setBoxRestrictions ();
103- Core::Datatypes::GeometryHandle buildGeometryObject ();
104- void processWidgetFeedback (SCIRun::Core::Algorithms::VariableHandle var);
105- SCIRun::Core::Geometry::BBox bbox_;
106-
107- BoxWidgetPtr box_;
108- boost::shared_ptr<EditMeshBoundingBoxImpl> impl_;
109- };
110- }}}
42+ namespace Modules {
43+ namespace Fields {
44+
45+ class EditMeshBoundingBoxImpl ;
46+
47+ class SCISHARE EditMeshBoundingBox : public Dataflow::Networks::GeometryGeneratingModule,
48+ public Has1InputPort<FieldPortTag>,
49+ public Has3OutputPorts < FieldPortTag, GeometryPortTag, MatrixPortTag >
50+ {
51+ public:
52+ EditMeshBoundingBox ();
53+ virtual void execute ();
54+ virtual void setStateDefaults ();
55+
56+ static const Core::Algorithms::AlgorithmParameterName Resetting;
57+ // Input Field Attributes
58+ static const Core::Algorithms::AlgorithmParameterName InputCenterX;
59+ static const Core::Algorithms::AlgorithmParameterName InputCenterY;
60+ static const Core::Algorithms::AlgorithmParameterName InputCenterZ;
61+ static const Core::Algorithms::AlgorithmParameterName InputSizeX;
62+ static const Core::Algorithms::AlgorithmParameterName InputSizeY;
63+ static const Core::Algorithms::AlgorithmParameterName InputSizeZ;
64+ // Outpuconst t Field Atributes
65+ static const Core::Algorithms::AlgorithmParameterName UseOutputCenter;
66+ static const Core::Algorithms::AlgorithmParameterName UseOutputSize;
67+ static const Core::Algorithms::AlgorithmParameterName OutputCenterX;
68+ static const Core::Algorithms::AlgorithmParameterName OutputCenterY;
69+ static const Core::Algorithms::AlgorithmParameterName OutputCenterZ;
70+ static const Core::Algorithms::AlgorithmParameterName OutputSizeX;
71+ static const Core::Algorithms::AlgorithmParameterName OutputSizeY;
72+ static const Core::Algorithms::AlgorithmParameterName OutputSizeZ;
73+ // Widgeconst t Scale/Mode
74+ static const Core::Algorithms::AlgorithmParameterName Scale;
75+ static const Core::Algorithms::AlgorithmParameterName NoTranslation;
76+ static const Core::Algorithms::AlgorithmParameterName XYZTranslation;
77+ static const Core::Algorithms::AlgorithmParameterName RDITranslation;
78+ static const Core::Algorithms::AlgorithmParameterName RestrictX;
79+ static const Core::Algorithms::AlgorithmParameterName RestrictY;
80+ static const Core::Algorithms::AlgorithmParameterName RestrictZ;
81+ static const Core::Algorithms::AlgorithmParameterName RestrictR;
82+ static const Core::Algorithms::AlgorithmParameterName RestrictD;
83+ static const Core::Algorithms::AlgorithmParameterName RestrictI;
84+
85+ static const Core::Algorithms::AlgorithmParameterName BoxMode;
86+ static const Core::Algorithms::AlgorithmParameterName BoxRealScale;
87+
88+ INPUT_PORT (0 , InputField, LegacyField);
89+ OUTPUT_PORT (0 , OutputField, LegacyField);
90+ OUTPUT_PORT (1 , Transformation_Widget, GeometryObject);
91+ OUTPUT_PORT (2 , Transformation_Matrix, Matrix);
92+
93+ static const Dataflow::Networks::ModuleLookupInfo staticInfo_;
94+ private:
95+ void executeImpl (FieldHandle f);
96+ void clear_vals ();
97+ void update_input_attributes (FieldHandle);
98+ void build_widget (FieldHandle, bool reset);
99+ bool isBoxEmpty () const ;
100+ void widget_moved (bool );
101+ void createBoxWidget ();
102+ void setBoxRestrictions ();
103+ Core::Datatypes::GeometryHandle buildGeometryObject ();
104+ void processWidgetFeedback (SCIRun::Core::Algorithms::VariableHandle var);
105+ SCIRun::Core::Geometry::BBox bbox_;
106+
107+ BoxWidgetPtr box_;
108+ boost::shared_ptr<EditMeshBoundingBoxImpl> impl_;
109+ };
110+ }
111+ }
112+ }
111113
112114#endif
0 commit comments