]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkMassProperties.cxx
#3484 Mesh MassProperties box
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMassProperties.cxx
1 //===== 
2 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
3 //===== 
4 #include "bbcreaVtkMassProperties.h"
5 #include "bbcreaVtkPackage.h"
6
7 #include <vtkMassProperties.h>
8
9 namespace bbcreaVtk
10 {
11
12 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MassProperties)
13 BBTK_BLACK_BOX_IMPLEMENTATION(MassProperties,bbtk::AtomicBlackBox);
14 //===== 
15 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
16 //===== 
17 void MassProperties::Process()
18 {
19
20 // THE MAIN PROCESSING METHOD BODY
21 //   Here we simply set the input 'In' value to the output 'Out'
22 //   And print out the output value
23 // INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
24 //    void bbSet{Input|Output}NAME(const TYPE&)
25 //    const TYPE& bbGet{Input|Output}NAME() const 
26 //    Where :
27 //    * NAME is the name of the input/output
28 //      (the one provided in the attribute 'name' of the tag 'input')
29 //    * TYPE is the C++ type of the input/output
30 //      (the one provided in the attribute 'type' of the tag 'input')
31 //    bbSetOutputOut( bbGetInputIn() );
32 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
33   
34     if  (bbGetInputIn()!=NULL )
35     {
36         vtkMassProperties *massproperties = vtkMassProperties::New();
37         massproperties->SetInputData( bbGetInputIn() );
38         massproperties->Update();
39         bbSetOutputSurfaceArea(  massproperties->GetSurfaceArea()  );
40         bbSetOutputVolumeX(  massproperties->GetVolumeX()  );
41         bbSetOutputVolumeY(  massproperties->GetVolumeY()  );
42         bbSetOutputVolumeZ(  massproperties->GetVolumeZ()  );
43         bbSetOutputMinCellArea(  massproperties->GetMinCellArea()  );
44         bbSetOutputMaxCellArea(  massproperties->GetMaxCellArea()  );
45         bbSetOutputNormalizedShapeIndex(  massproperties->GetNormalizedShapeIndex()  );
46     } // if In !NULL
47 }
48 //===== 
49 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
50 //===== 
51 void MassProperties::bbUserSetDefaultValues()
52 {
53
54 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
55 //    Here we initialize the input 'In' to 0
56    bbSetInputIn(NULL);
57   
58 }
59 //===== 
60 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
61 //===== 
62 void MassProperties::bbUserInitializeProcessing()
63 {
64
65 //  THE INITIALIZATION METHOD BODY :
66 //    Here does nothing 
67 //    but this is where you should allocate the internal/output pointers 
68 //    if any 
69
70   
71 }
72 //===== 
73 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
74 //===== 
75 void MassProperties::bbUserFinalizeProcessing()
76 {
77
78 //  THE FINALIZATION METHOD BODY :
79 //    Here does nothing 
80 //    but this is where you should desallocate the internal/output pointers 
81 //    if any
82   
83 }
84 }
85 // EO namespace bbcreaVtk
86
87