MeVisLab Toolbox Reference
mlVTKSpecialFieldsSupport.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #pragma once
14 
15 #include "mlInitSystemVTKSupport.h"
16 
17 #include "mlModuleIncludes.h"
18 #include "mlMultiFields.h"
19 
21 #include <vtkMatrix4x4.h>
22 
23 ML_START_NAMESPACE
24 
25 #define ML_VTK_CHAR_ENUMS \
26 { \
27  "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", \
28  "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", \
29  "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", \
30  "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", \
31  "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", \
32  "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", \
33  "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", \
34  "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", \
35  "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", \
36  "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", \
37  \
38  "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", \
39  "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", \
40  "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", \
41  "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", \
42  "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", \
43  "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", \
44  "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", \
45  "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", \
46  "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", \
47  "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", \
48  \
49  "200", "201", "202", "203", "204", "205", "206", "207", "208", "209", \
50  "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", \
51  "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", \
52  "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", \
53  "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", \
54  "250", "251", "252", "253", "254", "255" };
55 
56 
57 //---------------------------------------------------------------------------
60 //---------------------------------------------------------------------------
61 inline vtkMatrix4x4* VTKMatrix4x4FromMLMatrix(const Matrix4 &mat)
62 {
63  vtkMatrix4x4 *resultMat=vtkMatrix4x4::New();
64  for (int i=0; i < 4; ++i){
65  for (int j=0; j < 4; ++j){
66  resultMat->SetElement(i,j, mat[i][j]);
67  }
68  }
69  return resultMat;
70 }
71 
72 //---------------------------------------------------------------------------
74 //---------------------------------------------------------------------------
75 inline Matrix4 MLMatrixFromVTKMatrix4x4(const vtkMatrix4x4* mat)
76 {
77  Matrix4 resultMat;
78  if (mat){
79  for (int i=0; i < 4; ++i){
80  for (int j=0; j < 4; ++j){
81  resultMat[i][j] = mat->GetElement(i,j);
82  }
83  }
84  }
85  else{
86  // Initialize as identity.
87  resultMat = Matrix4::getIdentity();
88  }
89  return resultMat;
90 }
91 
92 ML_END_NAMESPACE
vtkMatrix4x4 * VTKMatrix4x4FromMLMatrix(const Matrix4 &mat)
Convert an ML 4x4 matrix to a VTK 4x4 matrix which is created with vtkMatrix4x4::New() and which must...
Matrix4 MLMatrixFromVTKMatrix4x4(const vtkMatrix4x4 *mat)
Convert a VTK 4x4 matrix to an ML 4x4 matrix.