diff --git a/FileIO/Legacy/MeshIO.cpp b/FileIO/Legacy/MeshIO.cpp
index 235c291e513348d895b3c0cce9cbc0ffe7c3761d..9353705b1363f25fee521b6f70f4d0780ca8a9d1 100644
--- a/FileIO/Legacy/MeshIO.cpp
+++ b/FileIO/Legacy/MeshIO.cpp
@@ -152,7 +152,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 {
 	std::stringstream ss (line);
 	std::string elem_type_str("");
-	MshElemType::type elem_type (MshElemType::INVALID);
+	MeshElemType elem_type (MeshElemType::INVALID);
 	unsigned index, patch_index;
 	ss >> index >> patch_index;
 
@@ -160,15 +160,15 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		ss >> elem_type_str;
 		if (ss.fail())
 			return NULL;
-		elem_type = String2MshElemType(elem_type_str);
-	} while (elem_type == MshElemType::INVALID);
+		elem_type = String2MeshElemType(elem_type_str);
+	} while (elem_type == MeshElemType::INVALID);
 
 	unsigned* idx = new unsigned[8];
 	MeshLib::Element* elem;
 
 	switch(elem_type)
 	{
-	case MshElemType::EDGE: {
+	case MeshElemType::EDGE: {
 		for (int i = 0; i < 2; ++i)
 			ss >> idx[i];
 		// edge_nodes array will be deleted from Edge object
@@ -178,7 +178,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Edge(edge_nodes, patch_index);
 		break;
 	}
-	case MshElemType::TRIANGLE: {
+	case MeshElemType::TRIANGLE: {
 		for (int i = 0; i < 3; ++i)
 			ss >> idx[i];
 		MeshLib::Node** tri_nodes = new MeshLib::Node*[3];
@@ -187,7 +187,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Tri(tri_nodes, patch_index);
 		break;
 	}
-	case MshElemType::QUAD: {
+	case MeshElemType::QUAD: {
 		for (int i = 0; i < 4; ++i)
 			ss >> idx[i];
 		MeshLib::Node** quad_nodes = new MeshLib::Node*[4];
@@ -196,7 +196,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Quad(quad_nodes, patch_index);
 		break;
 	}
-	case MshElemType::TETRAHEDRON: {
+	case MeshElemType::TETRAHEDRON: {
 		for (int i = 0; i < 4; ++i)
 			ss >> idx[i];
 		MeshLib::Node** tet_nodes = new MeshLib::Node*[4];
@@ -205,7 +205,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Tet(tet_nodes, patch_index);
 		break;
 	}
-	case MshElemType::HEXAHEDRON: {
+	case MeshElemType::HEXAHEDRON: {
 		for (int i = 0; i < 8; ++i)
 			ss >> idx[i];
 		MeshLib::Node** hex_nodes = new MeshLib::Node*[8];
@@ -214,7 +214,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Hex(hex_nodes, patch_index);
 		break;
 	}
-	case MshElemType::PYRAMID: {
+	case MeshElemType::PYRAMID: {
 		for (int i = 0; i < 5; ++i)
 			ss >> idx[i];
 		MeshLib::Node** pyramid_nodes = new MeshLib::Node*[5];
@@ -223,7 +223,7 @@ MeshLib::Element* MeshIO::readElement(const std::string& line,
 		elem = new MeshLib::Pyramid(pyramid_nodes, patch_index);
 		break;
 	}
-	case MshElemType::PRISM: {
+	case MeshElemType::PRISM: {
 		for (int i = 0; i < 6; ++i)
 			ss >> idx[i];
 		MeshLib::Node** prism_nodes = new MeshLib::Node*[6];
@@ -286,7 +286,7 @@ void MeshIO::writeElementsExceptLines(std::vector<MeshLib::Element*> const& ele_
 	size_t n_elements(0);
 
 	for (size_t i(0); i < ele_vector_size; ++i) {
-		if ((ele_vec[i])->getGeomType() == MshElemType::EDGE) {
+		if ((ele_vec[i])->getGeomType() == MeshElemType::EDGE) {
 			non_line_element[i] = false;
 			non_null_element[i] = false;
 		} else {
@@ -300,7 +300,7 @@ void MeshIO::writeElementsExceptLines(std::vector<MeshLib::Element*> const& ele_
 	out << n_elements << "\n";
 	for (size_t i(0), k(0); i < ele_vector_size; ++i) {
 		if (non_line_element[i] && non_null_element[i]) {
-			out << k << " " << ele_vec[i]->getValue() << " " << MshElemType2String(ele_vec[i]->getGeomType()) << " ";
+			out << k << " " << ele_vec[i]->getValue() << " " << MeshElemType2String(ele_vec[i]->getGeomType()) << " ";
 			unsigned nElemNodes (ele_vec[i]->getNNodes());
 			for(size_t j = 0; j < nElemNodes; ++j)
 				out << ele_vec[i]->getNode(nElemNodes - j - 1)->getID() << " ";
diff --git a/FileIO/RapidXmlIO/BoostVtuInterface.cpp b/FileIO/RapidXmlIO/BoostVtuInterface.cpp
index 31db1e20bbff4f94fc02564a5c93162b3d52ecbb..8fae54eeb2243d37b856cd91cfd4577d2f27ca77 100644
--- a/FileIO/RapidXmlIO/BoostVtuInterface.cpp
+++ b/FileIO/RapidXmlIO/BoostVtuInterface.cpp
@@ -496,23 +496,23 @@ int BoostVtuInterface::write(std::ostream& stream)
 	return 1;
 }
 
-unsigned BoostVtuInterface::getVTKElementID(MshElemType::type type) const
+unsigned BoostVtuInterface::getVTKElementID(MeshElemType type) const
 {
 	switch (type)
 	{
-	case MshElemType::EDGE:
+	case MeshElemType::EDGE:
 		return 3;
-	case MshElemType::TRIANGLE:
+	case MeshElemType::TRIANGLE:
 		return 5;
-	case MshElemType::QUAD:
+	case MeshElemType::QUAD:
 		return 9;
-	case MshElemType::TETRAHEDRON:
+	case MeshElemType::TETRAHEDRON:
 		return 10;
-	case MshElemType::HEXAHEDRON:
+	case MeshElemType::HEXAHEDRON:
 		return 12;
-	case MshElemType::PYRAMID:
+	case MeshElemType::PYRAMID:
 		return 14;
-	case MshElemType::PRISM:
+	case MeshElemType::PRISM:
 		return 13;
 	default:
 		return std::numeric_limits<unsigned>::max();
diff --git a/FileIO/RapidXmlIO/BoostVtuInterface.h b/FileIO/RapidXmlIO/BoostVtuInterface.h
index 5b5df346454c89bffdb947ef75d88a35acb21cb9..5c8f95a8d0aa7d79e66499d7b02122ceff057d24 100644
--- a/FileIO/RapidXmlIO/BoostVtuInterface.h
+++ b/FileIO/RapidXmlIO/BoostVtuInterface.h
@@ -73,7 +73,7 @@ protected:
 private:
 
 	/// Returns the ID used by VTK for a given cell type (e.g. "5" for a triangle, etc.)
-	unsigned getVTKElementID(MshElemType::type type) const;
+	unsigned getVTKElementID(MeshElemType type) const;
 
 	/// Check if the root node really specifies an XML file
 	static bool isVTKFile(const boost::property_tree::ptree &vtk_root);
diff --git a/FileIO/RapidXmlIO/RapidVtuInterface.cpp b/FileIO/RapidXmlIO/RapidVtuInterface.cpp
index 83644417e94218451c57714023341115a6dbb875..86008571299b93142bc9d17fd59f472679417dc7 100644
--- a/FileIO/RapidXmlIO/RapidVtuInterface.cpp
+++ b/FileIO/RapidXmlIO/RapidVtuInterface.cpp
@@ -427,23 +427,23 @@ int RapidVtuInterface::write(std::ostream& stream)
 	return 1;
 }
 
-unsigned RapidVtuInterface::getVTKElementID(MshElemType::type type) const
+unsigned RapidVtuInterface::getVTKElementID(MeshElemType type) const
 {
 	switch (type)
 	{
-	case MshElemType::EDGE:
+	case MeshElemType::EDGE:
 		return 3;
-	case MshElemType::TRIANGLE:
+	case MeshElemType::TRIANGLE:
 		return 5;
-	case MshElemType::QUAD:
+	case MeshElemType::QUAD:
 		return 9;
-	case MshElemType::TETRAHEDRON:
+	case MeshElemType::TETRAHEDRON:
 		return 10;
-	case MshElemType::HEXAHEDRON:
+	case MeshElemType::HEXAHEDRON:
 		return 12;
-	case MshElemType::PYRAMID:
+	case MeshElemType::PYRAMID:
 		return 14;
-	case MshElemType::PRISM:
+	case MeshElemType::PRISM:
 		return 13;
 	default:
 		return std::numeric_limits<unsigned>::max();
diff --git a/FileIO/RapidXmlIO/RapidVtuInterface.h b/FileIO/RapidXmlIO/RapidVtuInterface.h
index 9928597555fa7c3687b97491bad3b3246738e983..66f804886b246f45da1907b5151336881fb8754d 100644
--- a/FileIO/RapidXmlIO/RapidVtuInterface.h
+++ b/FileIO/RapidXmlIO/RapidVtuInterface.h
@@ -68,7 +68,7 @@ protected:
 
 private:
 	/// Returns the ID used by VTK for a given cell type (e.g. "5" for a triangle, etc.)
-	unsigned getVTKElementID(MshElemType::type type) const;
+	unsigned getVTKElementID(MeshElemType type) const;
 
 	/// Check if the root node really specifies an XML file
 	static bool isVTKFile(const rapidxml::xml_node<>* node);
diff --git a/FileIO/SHPInterface.cpp b/FileIO/SHPInterface.cpp
index cc87d57ac9ccbefb48da5143542fb202cb68a864..f38c1b95679ff910a38537036b42a46f0b40d798 100644
--- a/FileIO/SHPInterface.cpp
+++ b/FileIO/SHPInterface.cpp
@@ -238,7 +238,7 @@ bool SHPInterface::write2dMeshToSHP(const std::string &file_name, const MeshLib:
 		const MeshLib::Element* e (mesh.getElement(i));
 
 		// ignore all elements except triangles and quads
-		if ((e->getGeomType() == MshElemType::TRIANGLE) || (e->getGeomType() == MshElemType::QUAD))
+		if ((e->getGeomType() == MeshElemType::TRIANGLE) || (e->getGeomType() == MeshElemType::QUAD))
 		{
 			// write element ID and material group to DBF-file
 			DBFWriteIntegerAttribute(hDBF, polygon_id, elem_id_field, i);
diff --git a/Gui/DataView/ElementTreeModel.cpp b/Gui/DataView/ElementTreeModel.cpp
index 1173148cdcc8011e0f755abec04bc6dd2966ac47..332656f476712ba736c4d264482a25abc47b5671 100644
--- a/Gui/DataView/ElementTreeModel.cpp
+++ b/Gui/DataView/ElementTreeModel.cpp
@@ -55,7 +55,7 @@ void ElementTreeModel::setElement(vtkUnstructuredGridAlgorithm const*const grid,
 		_rootItem->appendChild(elemItem);
 
 		QList<QVariant> typeData;
-		typeData << "Element Type: " << QString::fromStdString(MshElemType2String(elem->getGeomType()));
+		typeData << "Element Type: " << QString::fromStdString(MeshElemType2String(elem->getGeomType()));
 		TreeItem* typeItem = new TreeItem(typeData, elemItem);
 		elemItem->appendChild(typeItem);
 
diff --git a/Gui/DataView/MshLayerMapper.cpp b/Gui/DataView/MshLayerMapper.cpp
index 87096328f2ce748b531a802d489d29393bc539ba..7a1bd056bb3c6160ac0ca2e0c7f39092c1d68bc8 100644
--- a/Gui/DataView/MshLayerMapper.cpp
+++ b/Gui/DataView/MshLayerMapper.cpp
@@ -98,16 +98,16 @@ MeshLib::Mesh* MshLayerMapper::CreateLayers(const MeshLib::Mesh* mesh, const std
 							e_nodes[j] = new_nodes[node_id+nNodes];
 							e_nodes[j+nElemNodes] = new_nodes[node_id];
 						}
-						if (sfc_elem->getGeomType() == MshElemType::TRIANGLE)	// extrude triangles to prism
+						if (sfc_elem->getGeomType() == MeshElemType::TRIANGLE)	// extrude triangles to prism
 							new_elems[elem_offset+cnt] = new MeshLib::Prism(e_nodes, mat_id);
-						else if (sfc_elem->getGeomType() == MshElemType::QUAD)	// extrude quads to hexes
+						else if (sfc_elem->getGeomType() == MeshElemType::QUAD)	// extrude quads to hexes
 							new_elems[elem_offset+cnt] = new MeshLib::Hex(e_nodes, mat_id);
 						cnt++;
 					}
 					else
 					{
 						WARN("MshLayerMapper::CreateLayers() - Method can only handle 2D mesh elements.");
-						WARN("Skipping Element %d of type \"%s\".", i, MshElemType2String(sfc_elem->getGeomType()).c_str());
+						WARN("Skipping Element %d of type \"%s\".", i, MeshElemType2String(sfc_elem->getGeomType()).c_str());
 					}
 				}
 			}
diff --git a/Gui/DataView/MshModel.cpp b/Gui/DataView/MshModel.cpp
index 534e2717e282f9801f9b6a37dc01ccba5d4a6589..591d191b9f139472b2b945fa3456279895717a4e 100644
--- a/Gui/DataView/MshModel.cpp
+++ b/Gui/DataView/MshModel.cpp
@@ -71,18 +71,18 @@ void MshModel::addMeshObject(const MeshLib::Mesh* mesh)
 	const std::vector<MeshLib::Element*> &elems = mesh->getElements();
 	const size_t nElems (elems.size());
 	QString elem_type_string("");
-	MshElemType::type elem_type(MshElemType::INVALID);
+	MeshElemType elem_type(MeshElemType::INVALID);
 
 	for (size_t i = 0; i < nElems; i++)
 	{
 		const MeshLib::Element* current_element (elems[i]);
-		MshElemType::type t (current_element->getGeomType());
+		MeshElemType t (current_element->getGeomType());
 		QList<QVariant> elemData;
 		elemData.reserve(3);
 		if (t != elem_type)
 		{
 			elem_type = t;
-			elem_type_string = QString::fromStdString(MshElemType2String(t));
+			elem_type_string = QString::fromStdString(MeshElemType2String(t));
 		}
 
 		QString nodestxt(QString::number(current_element->getNode(0)->getID()));
diff --git a/Gui/DataView/NetCdfConfigureDialog.cpp b/Gui/DataView/NetCdfConfigureDialog.cpp
index 383460aed2066e58860ce9d4feb5cb907b0a4501..276167804dc6b009422eecf32614b5a3a1b3d966 100644
--- a/Gui/DataView/NetCdfConfigureDialog.cpp
+++ b/Gui/DataView/NetCdfConfigureDialog.cpp
@@ -368,13 +368,13 @@ void NetCdfConfigureDialog::createDataObject()
 
 	if (this->radioMesh->isChecked())
 	{
-		MshElemType::type meshElemType = MshElemType::QUAD;
+		MeshElemType meshElemType = MeshElemType::QUAD;
 		UseIntensityAs::type useIntensity = UseIntensityAs::MATERIAL;
 		if ((comboBoxMeshElemType->currentIndex()) == 1) 
 		{
-			meshElemType = MshElemType::TRIANGLE;
+			meshElemType = MeshElemType::TRIANGLE;
 		}else{
-			meshElemType = MshElemType::QUAD;
+			meshElemType = MeshElemType::QUAD;
 		}
 		if ((comboBoxUseIntensity->currentIndex()) == 1)
 		{
diff --git a/Gui/VtkVis/MeshFromRasterDialog.cpp b/Gui/VtkVis/MeshFromRasterDialog.cpp
index 45babf4ca1de1e258e478f7dfad05b7f2236822f..6aba57ac408cf21a4153e400dca32c7606e965b5 100644
--- a/Gui/VtkVis/MeshFromRasterDialog.cpp
+++ b/Gui/VtkVis/MeshFromRasterDialog.cpp
@@ -37,9 +37,9 @@ void MeshFromRasterDialog::accept()
 	if (this->materialButton->isChecked()) i_type = UseIntensityAs::MATERIAL;
 	else if (this->ignoreButton->isChecked()) i_type = UseIntensityAs::NONE;
 
-	MshElemType::type e_type(MshElemType::TRIANGLE);
-	if (this->quadButton->isChecked()) e_type = MshElemType::QUAD;
-	else if (this->hexButton->isChecked()) e_type = MshElemType::HEXAHEDRON;
+	MeshElemType e_type(MeshElemType::TRIANGLE);
+	if (this->quadButton->isChecked()) e_type = MeshElemType::QUAD;
+	else if (this->hexButton->isChecked()) e_type = MeshElemType::HEXAHEDRON;
 
 	emit setMeshParameters(this->mshNameEdit->text(), e_type, i_type);
 	this->done(QDialog::Accepted);
diff --git a/Gui/VtkVis/MeshFromRasterDialog.h b/Gui/VtkVis/MeshFromRasterDialog.h
index 575ef6ab213ae84c96aa1243f8f971d673726ac7..498e5c6cef3bea537f16966063c5cdbde60c0bf4 100644
--- a/Gui/VtkVis/MeshFromRasterDialog.h
+++ b/Gui/VtkVis/MeshFromRasterDialog.h
@@ -42,7 +42,7 @@ private slots:
 	void reject();
 
 signals:
-	void setMeshParameters(QString, MshElemType::type, UseIntensityAs::type);
+	void setMeshParameters(QString, MeshElemType, UseIntensityAs::type);
 
 };
 
diff --git a/Gui/VtkVis/VtkMeshConverter.cpp b/Gui/VtkVis/VtkMeshConverter.cpp
index e31d05dab070387cae8dd330f70e20475f6efe62..a012271be877d896f25b36cb5583eaf958bb74d1 100644
--- a/Gui/VtkVis/VtkMeshConverter.cpp
+++ b/Gui/VtkVis/VtkMeshConverter.cpp
@@ -43,10 +43,10 @@
 MeshLib::Mesh* VtkMeshConverter::convertImgToMesh(vtkImageData* img,
                                                      const double origin[3],
                                                      const double scalingFactor,
-													 MshElemType::type elem_type,
+													 MeshElemType elem_type,
 													 UseIntensityAs::type intensity_type)
 {
-	if ((elem_type != MshElemType::TRIANGLE) && (elem_type != MshElemType::QUAD))
+	if ((elem_type != MeshElemType::TRIANGLE) && (elem_type != MeshElemType::QUAD))
 	{
 		ERR("VtkMeshConverter::convertImgToMesh(): Invalid Mesh Element Type.");
 		return nullptr;
@@ -114,7 +114,7 @@ MeshLib::Mesh* VtkMeshConverter::convertImgToMesh(const double* img,
 													 const size_t imgHeight,
 													 const size_t imgWidth,
 													 const double &scalingFactor,
-													 MshElemType::type elem_type,
+													 MeshElemType elem_type,
 													UseIntensityAs::type intensity_type)
 {
 	const size_t incHeight = imgHeight+1;
@@ -171,7 +171,7 @@ MeshLib::Mesh* VtkMeshConverter::constructMesh(const double* pixVal,
                                                   const size_t &imgHeight,
 												  const size_t &imgWidth,
                                                   const double &scalingFactor,
-										 		  MshElemType::type elem_type,
+										 		  MeshElemType elem_type,
 												  UseIntensityAs::type intensity_type)
 {
 	const size_t incHeight = imgHeight+1;
@@ -212,7 +212,7 @@ MeshLib::Mesh* VtkMeshConverter::constructMesh(const double* pixVal,
 			if ((node_idx_map[index]!=-1) && (node_idx_map[index+1]!=-1) && (node_idx_map[index+incHeight]!=-1) && (node_idx_map[index+incHeight+1]!=-1) && (visNodes[index+incHeight]))
 			{
 				const int mat = (intensity_type != UseIntensityAs::MATERIAL) ? 0 : static_cast<int>(pixVal[index+incHeight]);
-				if (elem_type == MshElemType::TRIANGLE)
+				if (elem_type == MeshElemType::TRIANGLE)
 				{
 					MeshLib::Node** tri1_nodes = new MeshLib::Node*[3];
 					tri1_nodes[0] = nodes[node_idx_map[index]];
@@ -227,7 +227,7 @@ MeshLib::Mesh* VtkMeshConverter::constructMesh(const double* pixVal,
 					elements.push_back(new MeshLib::Tri(tri1_nodes, mat)); // upper left triangle
 					elements.push_back(new MeshLib::Tri(tri2_nodes, mat)); // lower right triangle
 				}
-				if (elem_type == MshElemType::QUAD)
+				if (elem_type == MeshElemType::QUAD)
 				{
 					MeshLib::Node** quad_nodes = new MeshLib::Node*[4];
 					quad_nodes[0] = nodes[node_idx_map[index]];
diff --git a/Gui/VtkVis/VtkMeshConverter.h b/Gui/VtkVis/VtkMeshConverter.h
index da79fedbc8f26f99e30346d429dd5dedc6a5e070..b281f2a3b1949de44133dcc8936f7eda4a9f4c02 100644
--- a/Gui/VtkVis/VtkMeshConverter.h
+++ b/Gui/VtkVis/VtkMeshConverter.h
@@ -49,7 +49,7 @@ public:
 	static MeshLib::Mesh* convertImgToMesh(vtkImageData* img,
 									      const double origin[3],
 	                                      const double scalingFactor,
-										  MshElemType::type elem_type,
+										  MeshElemType elem_type,
 										  UseIntensityAs::type intensity_type);
 
 	/**
@@ -62,7 +62,7 @@ public:
 										  const std::size_t imgHeight,
 										  const std::size_t imgWidth,
 	                                      const double &scalingFactor,
-										  MshElemType::type elem_type,
+										  MeshElemType elem_type,
 										  UseIntensityAs::type intensity_type);
 
 	/// Converts a vtkUnstructuredGrid object to a Mesh
@@ -77,7 +77,7 @@ private:
 									   const std::size_t &imgHeight,
 									   const std::size_t &imgWidth,
 									   const double &scalingFactor,
-									   MshElemType::type elem_type,
+									   MeshElemType elem_type,
 									   UseIntensityAs::type intensity_type);
 
 	static double getExistingValue(const double* img, std::size_t length);
diff --git a/Gui/VtkVis/VtkMeshSource.cpp b/Gui/VtkVis/VtkMeshSource.cpp
index a7385993a1ebd9b76c698f811d7f4672f39a6ca6..1904711601036a34d84bf1eed1c30a37f20c9e0a 100644
--- a/Gui/VtkVis/VtkMeshSource.cpp
+++ b/Gui/VtkVis/VtkMeshSource.cpp
@@ -140,30 +140,30 @@ int VtkMeshSource::RequestData( vtkInformation* request,
 
 		switch (elem->getGeomType())
 		{
-		case MshElemType::EDGE:
+		case MeshElemType::EDGE:
 			type = 3;
 			break;
-		case MshElemType::TRIANGLE:
+		case MeshElemType::TRIANGLE:
 			type = 5;
 			break;
-		case MshElemType::QUAD:
+		case MeshElemType::QUAD:
 			type = 9;
 			break;
-		case MshElemType::HEXAHEDRON:
+		case MeshElemType::HEXAHEDRON:
 			type = 12;
 			break;
-		case MshElemType::TETRAHEDRON:
+		case MeshElemType::TETRAHEDRON:
 			type = 10;
 			break;
-		case MshElemType::PRISM:
+		case MeshElemType::PRISM:
 			type = 13;
 			break;
-		case MshElemType::PYRAMID:
+		case MeshElemType::PYRAMID:
 			type = 14;
 			break;
 		default: // if none of the above can be applied
 			ERR("VtkMeshSource::RequestData(): Unknown element type \"%s\".",
-					MshElemType2String(elem->getGeomType()).c_str());
+					MeshElemType2String(elem->getGeomType()).c_str());
 			return 0;
 		}
 
diff --git a/Gui/VtkVis/VtkVisPipelineView.cpp b/Gui/VtkVis/VtkVisPipelineView.cpp
index 7c21df332c1ee494c2e712038f6127bf5ae91ddb..d93cd2b39b743e7eaac61853b0321e8a8bc265b9 100644
--- a/Gui/VtkVis/VtkVisPipelineView.cpp
+++ b/Gui/VtkVis/VtkVisPipelineView.cpp
@@ -196,12 +196,12 @@ void VtkVisPipelineView::addPipelineFilterItem()
 void VtkVisPipelineView::showImageToMeshConversionDialog()
 {
 	MeshFromRasterDialog* dlg = new MeshFromRasterDialog();
-	connect(dlg, SIGNAL(setMeshParameters(QString, MshElemType::type, UseIntensityAs::type)),
-		    this, SLOT(constructMeshFromImage(QString, MshElemType::type, UseIntensityAs::type)));
+	connect(dlg, SIGNAL(setMeshParameters(QString, MeshElemType, UseIntensityAs::type)),
+		    this, SLOT(constructMeshFromImage(QString, MeshElemType, UseIntensityAs::type)));
 	dlg->exec();
 }
 
-void VtkVisPipelineView::constructMeshFromImage(QString msh_name, MshElemType::type element_type, UseIntensityAs::type intensity_type)
+void VtkVisPipelineView::constructMeshFromImage(QString msh_name, MeshElemType element_type, UseIntensityAs::type intensity_type)
 {
 	vtkSmartPointer<vtkAlgorithm> algorithm =
 	        static_cast<VtkVisPipelineItem*>(static_cast<VtkVisPipeline*>(this->model())->
diff --git a/Gui/VtkVis/VtkVisPipelineView.h b/Gui/VtkVis/VtkVisPipelineView.h
index 4bfd32437789285ff1471845bda5c873aefcced3..b0265ca421ab767e7077449e36abc22441016266 100644
--- a/Gui/VtkVis/VtkVisPipelineView.h
+++ b/Gui/VtkVis/VtkVisPipelineView.h
@@ -75,7 +75,7 @@ private slots:
 	void addPipelineFilterItem();
 
 	/// Calls the conversion method for creating an OGS Mesh from a vtkImageData object.
-	void constructMeshFromImage(QString msh_name, MshElemType::type element_type, UseIntensityAs::type intensity_type);
+	void constructMeshFromImage(QString msh_name, MeshElemType element_type, UseIntensityAs::type intensity_type);
 
 	/// Calls the dialog to
 	void showImageToMeshConversionDialog();
diff --git a/MeshLib/Elements/Cell.cpp b/MeshLib/Elements/Cell.cpp
index fb0caee8d946696270e1e50aa5c65b2f92b7c6dc..89314a2fa861095f65bc16f4bc19d2df718ef87d 100644
--- a/MeshLib/Elements/Cell.cpp
+++ b/MeshLib/Elements/Cell.cpp
@@ -16,7 +16,7 @@
 
 namespace MeshLib {
 /*
-Cell::Cell(Node** nodes, MshElemType::type type, unsigned value)
+Cell::Cell(Node** nodes, MeshElemType type, unsigned value)
 	: Element(nodes, type, value)
 {
 }
diff --git a/MeshLib/Elements/Cell.h b/MeshLib/Elements/Cell.h
index 7ca94337646aabdacc11827d53ecd76a8a338732..e3983bfe6c4dd4a69d1a39636fafd2b566d93f9e 100644
--- a/MeshLib/Elements/Cell.h
+++ b/MeshLib/Elements/Cell.h
@@ -51,7 +51,7 @@ public:
 protected:
 /*
 	/// Constructor for a generic mesh element containing an array of mesh nodes.
-	Cell(Node** nodes, MshElemType::type type, unsigned value = 0);
+	Cell(Node** nodes, MeshElemType type, unsigned value = 0);
 */
 	/// Constructor for a generic mesh element without an array of mesh nodes.
 	Cell(unsigned value = 0);
diff --git a/MeshLib/Elements/Element.cpp b/MeshLib/Elements/Element.cpp
index 3b33d9d091b30a126dbdf3a998dbe554ed4c6b56..306bc2934e3a5f0eebdff3685447f73afa277949 100644
--- a/MeshLib/Elements/Element.cpp
+++ b/MeshLib/Elements/Element.cpp
@@ -116,7 +116,7 @@ const Node* Element::getNode(unsigned i) const
 {
 	if (i < getNNodes())
 		return _nodes[i];
-	ERR("Error in MeshLib::Element::getNode() - Index %d in %s", i, MshElemType2String(getGeomType()).c_str());
+	ERR("Error in MeshLib::Element::getNode() - Index %d in %s", i, MeshElemType2String(getGeomType()).c_str());
 	return nullptr;
 }
 
diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h
index f1e9e8a3142156b56e55b4c5129520d95a4e9695..48dc5a31aa5089275bc84c6ae85e1d16b2562a80 100644
--- a/MeshLib/Elements/Element.h
+++ b/MeshLib/Elements/Element.h
@@ -116,9 +116,9 @@ public:
 	unsigned getNodeIndex(unsigned i) const;
 
 	/**
-	 * Get the type of the mesh element in geometric context (as a MshElemType-enum).
+	 * Get the type of the mesh element in geometric context (as a MeshElemType-enum).
 	 */
-	virtual MshElemType::type getGeomType() const = 0;
+	virtual MeshElemType getGeomType() const = 0;
 
 	/**
 	 * Get the type of the element in context of the finite element method.
@@ -161,7 +161,7 @@ public:
 	 * This method tries to create a new element of an appropriate type. The
 	 * value of the attribute _value is carried over. In contrast to this the
 	 * neighbor information is not carried over.
-	 * @return an element of a different element type (MshElemType) or NULL
+	 * @return an element of a different element type (MeshElemType) or NULL
 	 */
 	virtual Element* reviseElement() const = 0;
 
diff --git a/MeshLib/Elements/Face.cpp b/MeshLib/Elements/Face.cpp
index 478c97959df8c3248ddc51a81423ea97fcfde3f5..ba1f3c54025c225cc8c1feb9d4d4edd18a2872f5 100644
--- a/MeshLib/Elements/Face.cpp
+++ b/MeshLib/Elements/Face.cpp
@@ -21,7 +21,7 @@
 
 namespace MeshLib {
 /*
-Face::Face(Node** nodes, MshElemType::type type, unsigned value)
+Face::Face(Node** nodes, MeshElemType type, unsigned value)
 	: Element(nodes, type, value)
 {
 }
diff --git a/MeshLib/Elements/Face.h b/MeshLib/Elements/Face.h
index bbf30dff988ef76f485df31d7473209055cc8b26..4417ac44044f0d04a8a13802181354a6587d0151 100644
--- a/MeshLib/Elements/Face.h
+++ b/MeshLib/Elements/Face.h
@@ -72,7 +72,7 @@ public:
 protected:
 /*
 	/// Constructor for a generic mesh element containing an array of mesh nodes.
-	Face(Node** nodes, MshElemType::type type, unsigned value = 0);
+	Face(Node** nodes, MeshElemType type, unsigned value = 0);
 */
 	/// Constructor for a generic mesh element without an array of mesh nodes.
 	Face(unsigned value = 0);
diff --git a/MeshLib/Elements/TemplateEdge.h b/MeshLib/Elements/TemplateEdge.h
index 630cdeeeb08503e67d73b1d8dd6d838609ae0ee4..bff95fdc0e03491c536fd84498bd1d33493217cc 100644
--- a/MeshLib/Elements/TemplateEdge.h
+++ b/MeshLib/Elements/TemplateEdge.h
@@ -87,9 +87,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case EDGE will be returned.
-	 * @return MshElemType::EDGE
+	 * @return MeshElemType::EDGE
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::EDGE; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::EDGE; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Elements/TemplateHex.h b/MeshLib/Elements/TemplateHex.h
index c11dc0d5ac124d203eb0233ecc48d8b438d1797e..32972a9054221fb1eb1946778079f27c078cbc7c 100644
--- a/MeshLib/Elements/TemplateHex.h
+++ b/MeshLib/Elements/TemplateHex.h
@@ -85,9 +85,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case HEXAHEDRON will be returned.
-	 * @return MshElemType::HEXAHEDRON
+	 * @return MeshElemType::HEXAHEDRON
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::HEXAHEDRON; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::HEXAHEDRON; }
 
 	/**
 	 * Method returns the FEM type of the element.
diff --git a/MeshLib/Elements/TemplatePrism.h b/MeshLib/Elements/TemplatePrism.h
index 7947d02d71ce095122cdeaae83fa1ef063cc3df6..ea2e85b426ac49900ce55e88a2da81cfc5b103cf 100644
--- a/MeshLib/Elements/TemplatePrism.h
+++ b/MeshLib/Elements/TemplatePrism.h
@@ -83,9 +83,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case PRISM will be returned.
-	 * @return MshElemType::PRISM
+	 * @return MeshElemType::PRISM
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::PRISM; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::PRISM; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Elements/TemplatePyramid.h b/MeshLib/Elements/TemplatePyramid.h
index da01bbb5668f1fe8fb3ca6a7c0fde2e077798310..1d3d13bf82e595143f7a48678b060d5ec9a98760 100644
--- a/MeshLib/Elements/TemplatePyramid.h
+++ b/MeshLib/Elements/TemplatePyramid.h
@@ -81,9 +81,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case PYRAMID will be returned.
-	 * @return MshElemType::PYRAMID
+	 * @return MeshElemType::PYRAMID
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::PYRAMID; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::PYRAMID; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Elements/TemplateQuad.h b/MeshLib/Elements/TemplateQuad.h
index 4acd39f9183787e290a44c55bbae4dea1b17fda1..2258b638369ad01cf2ace801a7bd65601028fa2a 100644
--- a/MeshLib/Elements/TemplateQuad.h
+++ b/MeshLib/Elements/TemplateQuad.h
@@ -70,9 +70,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case QUAD will be returned.
-	 * @return MshElemType::QUAD
+	 * @return MeshElemType::QUAD
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::QUAD; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::QUAD; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Elements/TemplateTet.h b/MeshLib/Elements/TemplateTet.h
index 51fa10769fecb5e69a9be4981baaecd4d16722b0..86797d1ff394035461bff344a1ec49df3afb61f5 100644
--- a/MeshLib/Elements/TemplateTet.h
+++ b/MeshLib/Elements/TemplateTet.h
@@ -80,9 +80,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case TETRAHEDRON will be returned.
-	 * @return MshElemType::TETRAHEDRON
+	 * @return MeshElemType::TETRAHEDRON
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::TETRAHEDRON; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::TETRAHEDRON; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Elements/TemplateTri.h b/MeshLib/Elements/TemplateTri.h
index ac299793adec51e6a1713302afd246c381e7cb6b..e19ffc9c6dcb6fae5fe86cf55974473549869346 100644
--- a/MeshLib/Elements/TemplateTri.h
+++ b/MeshLib/Elements/TemplateTri.h
@@ -73,9 +73,9 @@ public:
 
 	/**
 	 * Method returns the type of the element. In this case TRIANGLE will be returned.
-	 * @return MshElemType::TRIANGLE
+	 * @return MeshElemType::TRIANGLE
 	 */
-	virtual MshElemType::type getGeomType() const { return MshElemType::TRIANGLE; }
+	virtual MeshElemType getGeomType() const { return MeshElemType::TRIANGLE; }
 
 	/**
 	 * Get the type of the element in context of the finite element method.
diff --git a/MeshLib/Mesh.cpp b/MeshLib/Mesh.cpp
index ef36513400cb6df07f8efdbead56e1abc0131a5c..8c64d5b74e95429eb5be46074dcabd4bc17d044b 100644
--- a/MeshLib/Mesh.cpp
+++ b/MeshLib/Mesh.cpp
@@ -101,7 +101,7 @@ void Mesh::makeNodesUnique()
 	//set correct id for each node
 
 	//if (this->getDimension() > 1)
-	//	this->removeMeshElements(MshElemType::EDGE);
+	//	this->removeMeshElements(MeshElemType::EDGE);
 
 }
 
@@ -179,7 +179,7 @@ void Mesh::setElementsConnectedToElements()
 		// create vector with all elements connected to current element (includes lots of doubles!)
 		std::vector<Element*> neighbors;
 		Element *const element (_elements[m]);
-		if (element->getGeomType() != MshElemType::EDGE)
+		if (element->getGeomType() != MeshElemType::EDGE)
 		{
 			const size_t nNodes (element->getNNodes());
 			for (unsigned n(0); n<nNodes; ++n)
@@ -192,7 +192,7 @@ void Mesh::setElementsConnectedToElements()
 
 			for (unsigned i(0); i<nNeighbors; ++i)
 			{
-				if (element->addNeighbor(neighbors[i]) && neighbors[i]->getGeomType() != MshElemType::EDGE)
+				if (element->addNeighbor(neighbors[i]) && neighbors[i]->getGeomType() != MeshElemType::EDGE)
 				{
 					neighbors[i]->addNeighbor(element);
 				}
@@ -284,7 +284,7 @@ void Mesh::removeUnusedMeshNodes()
 	}
 }
 
-void Mesh::removeMeshElements(MshElemType::type t)
+void Mesh::removeMeshElements(MeshElemType t)
 {
 	unsigned count(0);
 	for (std::vector<MeshLib::Element*>::iterator it = this->_elements.begin(); it != this->_elements.end();)
@@ -298,6 +298,6 @@ void Mesh::removeMeshElements(MshElemType::type t)
 		else
 			++it;
 	}
-	INFO("Removed %d  elements of type %s from mesh.", count, MshElemType2String(t).c_str());
+	INFO("Removed %d  elements of type %s from mesh.", count, MeshElemType2String(t).c_str());
 }
 }
diff --git a/MeshLib/Mesh.h b/MeshLib/Mesh.h
index 239497d71a8b49afa73795136cdd9d0994d6de7a..578596859eda5bf4da99d8cea102ab8e735a9a5b 100644
--- a/MeshLib/Mesh.h
+++ b/MeshLib/Mesh.h
@@ -111,7 +111,7 @@ protected:
 	void removeUnusedMeshNodes();
 
 	/// Removes elements of the given type t from a mesh
-	void removeMeshElements(MshElemType::type t);
+	void removeMeshElements(MeshElemType t);
 
 	/// Sets the dimension of the mesh.
 	void setDimension();
diff --git a/MeshLib/MeshEnums.cpp b/MeshLib/MeshEnums.cpp
index 3a13628987ce3734b955ba9bf50765377d83756f..ff0a2d16381a9dbabbab3eb237fd316cb88f25b4 100644
--- a/MeshLib/MeshEnums.cpp
+++ b/MeshLib/MeshEnums.cpp
@@ -14,42 +14,42 @@
 
 #include "MeshEnums.h"
 
-const std::string MshElemType2String(const MshElemType::type t)
+const std::string MeshElemType2String(const MeshElemType t)
 {
-	if (t == MshElemType::EDGE)
+	if (t == MeshElemType::EDGE)
 		return "line";
-	if (t == MshElemType::QUAD)
+	if (t == MeshElemType::QUAD)
 		return "quad";
-	if (t == MshElemType::HEXAHEDRON)
+	if (t == MeshElemType::HEXAHEDRON)
 		return "hex";
-	if (t == MshElemType::TRIANGLE)
+	if (t == MeshElemType::TRIANGLE)
 		return "tri";
-	if (t == MshElemType::TETRAHEDRON)
+	if (t == MeshElemType::TETRAHEDRON)
 		return "tet";
-	if (t == MshElemType::PRISM)
+	if (t == MeshElemType::PRISM)
 		return "pris";
-	if (t == MshElemType::PYRAMID)
+	if (t == MeshElemType::PYRAMID)
 		return "pyra";
 	return "none";
 }
 
-MshElemType::type String2MshElemType(const std::string &s)
+MeshElemType String2MeshElemType(const std::string &s)
 {
 	if (s.compare("line") == 0)
-		return MshElemType::EDGE;
+		return MeshElemType::EDGE;
 	if (s.compare("quad") == 0)
-		return MshElemType::QUAD;
+		return MeshElemType::QUAD;
 	if (s.compare("hex")  == 0)
-		return MshElemType::HEXAHEDRON;
+		return MeshElemType::HEXAHEDRON;
 	if (s.compare("tri")  == 0)
-		return MshElemType::TRIANGLE;
+		return MeshElemType::TRIANGLE;
 	if (s.compare("tet")  == 0)
-		return MshElemType::TETRAHEDRON;
+		return MeshElemType::TETRAHEDRON;
 	if (s.compare("pris") == 0)
-		return MshElemType::PRISM;
+		return MeshElemType::PRISM;
 	if (s.compare("pyra") == 0)
-		return MshElemType::PYRAMID;
-	return MshElemType::INVALID;
+		return MeshElemType::PYRAMID;
+	return MeshElemType::INVALID;
 }
 
 const std::string MshQualityType2String(const MshQualityType::type t)
diff --git a/MeshLib/MeshEnums.h b/MeshLib/MeshEnums.h
index 61d66969d79512471bd76fc5cfdfbb68326e9f5d..823a6cb36190129a150e477eafb51242877b31db 100644
--- a/MeshLib/MeshEnums.h
+++ b/MeshLib/MeshEnums.h
@@ -20,18 +20,16 @@
 /**
  * \brief Types of mesh elements supported by OpenGeoSys.
  */
-struct MshElemType
+enum class MeshElemType
 {
-	enum type {
-		INVALID,
-		EDGE,
-		QUAD,
-		HEXAHEDRON,
-		TRIANGLE,
-		TETRAHEDRON,
-		PRISM,
-		PYRAMID
-	};
+	INVALID,
+	EDGE,
+	QUAD,
+	HEXAHEDRON,
+	TRIANGLE,
+	TETRAHEDRON,
+	PRISM,
+	PYRAMID
 };
 
 /**
@@ -74,11 +72,11 @@ struct MshQualityType
 	};
 };
 
-/// Given a MshElemType this returns the appropriate string.
-const std::string MshElemType2String(const MshElemType::type t);
+/// Given a MeshElemType this returns the appropriate string.
+const std::string MeshElemType2String(const MeshElemType t);
 
-/// Given a string describing an element type this returns the corresponding MshElemType.
-MshElemType::type String2MshElemType(const std::string &s);
+/// Given a string describing an element type this returns the corresponding MeshElemType.
+MeshElemType String2MeshElemType(const std::string &s);
 
 const std::string MshQualityType2String(const MshQualityType::type t);
 
diff --git a/MeshLib/MeshGenerators/ConvertRasterToMesh.cpp b/MeshLib/MeshGenerators/ConvertRasterToMesh.cpp
index 18f1e4f79f6a7f847ebe8aa3ee6ae2dd4121a2b4..0e0fe27ca5a45fc7d0e9157bdd5b1137b49e68c8 100644
--- a/MeshLib/MeshGenerators/ConvertRasterToMesh.cpp
+++ b/MeshLib/MeshGenerators/ConvertRasterToMesh.cpp
@@ -20,7 +20,7 @@
 
 namespace MeshLib {
 
-ConvertRasterToMesh::ConvertRasterToMesh(GeoLib::Raster const& raster, MshElemType::type elem_type,
+ConvertRasterToMesh::ConvertRasterToMesh(GeoLib::Raster const& raster, MeshElemType elem_type,
 				UseIntensityAs::type intensity_type) :
 	_raster(raster), _elem_type(elem_type), _intensity_type(intensity_type)
 {}
@@ -123,7 +123,7 @@ MeshLib::Mesh* ConvertRasterToMesh::constructMesh(const double* pix_vals, const
 					&& (vis_nodes[index + width])) {
 				const int mat = (_intensity_type != UseIntensityAs::MATERIAL) ? 0
 								: static_cast<int> (pix_vals[index + width]);
-				if (_elem_type == MshElemType::TRIANGLE) {
+				if (_elem_type == MeshElemType::TRIANGLE) {
 					MeshLib::Node** tri1_nodes = new MeshLib::Node*[3];
 					tri1_nodes[0] = nodes[node_idx_map[index]];
 					tri1_nodes[1] = nodes[node_idx_map[index + 1]];
@@ -137,7 +137,7 @@ MeshLib::Mesh* ConvertRasterToMesh::constructMesh(const double* pix_vals, const
 					elements.push_back(new MeshLib::Tri(tri1_nodes, mat)); // upper left triangle
 					elements.push_back(new MeshLib::Tri(tri2_nodes, mat)); // lower right triangle
 				}
-				if (_elem_type == MshElemType::QUAD) {
+				if (_elem_type == MeshElemType::QUAD) {
 					MeshLib::Node** quad_nodes = new MeshLib::Node*[4];
 					quad_nodes[0] = nodes[node_idx_map[index]];
 					quad_nodes[1] = nodes[node_idx_map[index + 1]];
diff --git a/MeshLib/MeshGenerators/ConvertRasterToMesh.h b/MeshLib/MeshGenerators/ConvertRasterToMesh.h
index 42ffc4eeb00d769ccffa0203f5f4c21d811907c2..d349316721fee4a6faebeea67b668aa3dc53b7c0 100644
--- a/MeshLib/MeshGenerators/ConvertRasterToMesh.h
+++ b/MeshLib/MeshGenerators/ConvertRasterToMesh.h
@@ -43,7 +43,7 @@ struct UseIntensityAs
  */
 class ConvertRasterToMesh {
 public:
-	ConvertRasterToMesh(GeoLib::Raster const& raster, MshElemType::type elem_type,
+	ConvertRasterToMesh(GeoLib::Raster const& raster, MeshElemType elem_type,
 					  UseIntensityAs::type intensity_type);
 	~ConvertRasterToMesh();
 	MeshLib::Mesh* execute() const;
@@ -51,7 +51,7 @@ private:
 	double getExistingValue(GeoLib::Raster::const_iterator beg, GeoLib::Raster::const_iterator last) const;
 	MeshLib::Mesh* constructMesh(const double* pix_vals, const bool* vis_nodes) const;
 	GeoLib::Raster const& _raster;
-	MshElemType::type _elem_type;
+	MeshElemType _elem_type;
 	UseIntensityAs::type _intensity_type;
 };
 
diff --git a/MeshLib/MeshQuality/MeshQualityChecker.cpp b/MeshLib/MeshQuality/MeshQualityChecker.cpp
index 189a965d38161de36ef7878ce65b04a3141c358a..bba3b5ac4801c442c076d46c46e77d18af6115b3 100644
--- a/MeshLib/MeshQuality/MeshQualityChecker.cpp
+++ b/MeshLib/MeshQuality/MeshQualityChecker.cpp
@@ -40,7 +40,7 @@ BaseLib::Histogram<double> MeshQualityChecker::getHistogram (size_t nclasses) co
 void MeshQualityChecker::errorMsg (const Element* elem, size_t idx) const
 {
 	ERR ("Error in MeshQualityChecker::check() - Calculated value of element is below double precision minimum.");
-	ERR ("Points of %s-Element %d: ", MshElemType2String(elem->getGeomType()).c_str(), idx);
+	ERR ("Points of %s-Element %d: ", MeshElemType2String(elem->getGeomType()).c_str(), idx);
 	for (size_t i(0); i < elem->getNNodes(); i++)
 	{
 		const double* coords = elem->getNode(i)->getCoords();
diff --git a/MeshLib/MeshQuality/MeshQualityEquiAngleSkew.cpp b/MeshLib/MeshQuality/MeshQualityEquiAngleSkew.cpp
index 93baed677cecb40c9af65ae32b5d2866dc2e4e6a..b4e651663203b03b8cd97092cb1b7d7635c6dc41 100644
--- a/MeshLib/MeshQuality/MeshQualityEquiAngleSkew.cpp
+++ b/MeshLib/MeshQuality/MeshQualityEquiAngleSkew.cpp
@@ -47,22 +47,22 @@ void MeshQualityEquiAngleSkew::check ()
 		const Element* elem (elements[k]);
 		switch (elem->getGeomType())
 		{
-		case MshElemType::EDGE:
+		case MeshElemType::EDGE:
 			_mesh_quality_measure[k] = -1.0;
 			break;
-		case MshElemType::TRIANGLE:
+		case MeshElemType::TRIANGLE:
 			_mesh_quality_measure[k] = checkTriangle (elem);
 			break;
-		case MshElemType::QUAD:
+		case MeshElemType::QUAD:
 			_mesh_quality_measure[k] = checkQuad (elem);
 			break;
-		case MshElemType::TETRAHEDRON:
+		case MeshElemType::TETRAHEDRON:
 			_mesh_quality_measure[k] = checkTetrahedron (elem);
 			break;
-		case MshElemType::HEXAHEDRON:
+		case MeshElemType::HEXAHEDRON:
 			_mesh_quality_measure[k] = checkHexahedron (elem);
 			break;
-		case MshElemType::PRISM:
+		case MeshElemType::PRISM:
 			_mesh_quality_measure[k] = checkPrism (elem);
 			break;
 		default:
diff --git a/MeshLib/MeshQuality/MeshQualityShortestLongestRatio.cpp b/MeshLib/MeshQuality/MeshQualityShortestLongestRatio.cpp
index 85dd71eb0625a86b602c27ce365a6e132d27ad56..32c2b0412733e5072593428a65a0a94ccf6e62ea 100644
--- a/MeshLib/MeshQuality/MeshQualityShortestLongestRatio.cpp
+++ b/MeshLib/MeshQuality/MeshQualityShortestLongestRatio.cpp
@@ -34,29 +34,29 @@ void MeshQualityShortestLongestRatio::check()
 		const Element* elem (elements[k]);
 		switch (elem->getGeomType())
 		{
-		case MshElemType::EDGE:
+		case MeshElemType::EDGE:
 			_mesh_quality_measure[k] = 1.0;
 			break;
-		case MshElemType::TRIANGLE: {
+		case MeshElemType::TRIANGLE: {
 			_mesh_quality_measure[k] = checkTriangle(elem->getNode(0), elem->getNode(1), elem->getNode(2));
 			break;
 		}
-		case MshElemType::QUAD: {
+		case MeshElemType::QUAD: {
 			_mesh_quality_measure[k] = checkQuad(elem->getNode(0), elem->getNode(1), elem->getNode(2), elem->getNode(3));
 			break;
 		}
-		case MshElemType::TETRAHEDRON: {
+		case MeshElemType::TETRAHEDRON: {
 			_mesh_quality_measure[k] = checkTetrahedron(elem->getNode(0), elem->getNode(1), elem->getNode(2), elem->getNode(3));
 			break;
 		}
-		case MshElemType::PRISM: {
+		case MeshElemType::PRISM: {
 			std::vector<const GeoLib::Point*> pnts;
 			for (size_t j(0); j < 6; j++)
 				pnts.push_back(elem->getNode(j));
 			_mesh_quality_measure[k] = checkPrism(pnts);
 			break;
 		}
-		case MshElemType::HEXAHEDRON: {
+		case MeshElemType::HEXAHEDRON: {
 			std::vector<const GeoLib::Point*> pnts;
 			for (size_t j(0); j < 8; j++)
 				pnts.push_back(elem->getNode(j));
@@ -65,7 +65,7 @@ void MeshQualityShortestLongestRatio::check()
 		}
 		default:
 			ERR ("MeshQualityShortestLongestRatio::check () check for element type %s not implemented.",
-			     MshElemType2String(elem->getGeomType()).c_str());
+			     MeshElemType2String(elem->getGeomType()).c_str());
 		}
 	}
 }
diff --git a/MeshLib/MeshQuality/MeshQualityVolume.cpp b/MeshLib/MeshQuality/MeshQualityVolume.cpp
index 35d701094bc0fcecd998f0104589c98bbd508ad6..6fd05ea2953685c0e7197684a454d15d5b5d5aff 100644
--- a/MeshLib/MeshQuality/MeshQualityVolume.cpp
+++ b/MeshLib/MeshQuality/MeshQualityVolume.cpp
@@ -35,10 +35,10 @@ void MeshQualityVolume::check()
 	for (size_t k(0); k < nElements; k++)
 	{
 		const Element* elem (elements[k]);
-		MshElemType::type elem_type (elem->getGeomType());
-		if (elem_type == MshElemType::EDGE
-		    || elem_type == MshElemType::TRIANGLE
-		    || elem_type == MshElemType::QUAD)
+		MeshElemType elem_type (elem->getGeomType());
+		if (elem_type == MeshElemType::EDGE
+		    || elem_type == MeshElemType::TRIANGLE
+		    || elem_type == MeshElemType::QUAD)
 		{
             _mesh_quality_measure[k] = 0.0;
             continue;
diff --git a/MeshLib/MeshSurfaceExtraction.cpp b/MeshLib/MeshSurfaceExtraction.cpp
index 50b1dea90c1a1f55cf14c95a6269456e07adf765..f522820e96f8871d69d10884eb8e59834dd684b4 100644
--- a/MeshLib/MeshSurfaceExtraction.cpp
+++ b/MeshLib/MeshSurfaceExtraction.cpp
@@ -44,7 +44,7 @@ void MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib::Mesh* mesh, st
 			for (size_t i=0; i<nConnElems; ++i)
 			{
 				const MeshLib::Element* elem (conn_elems[i]);
-				const unsigned nElemParts = (elem->getGeomType() == MshElemType::TRIANGLE) ? 3 : 4;
+				const unsigned nElemParts = (elem->getGeomType() == MeshElemType::TRIANGLE) ? 3 : 4;
 				const double area = conn_elems[i]->getContent() / nElemParts;
 				node_area += area;
 				total_area += area;
@@ -80,7 +80,7 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface(const MeshLib::Mesh &mesh,
 		for (unsigned i=0; i<nNewElements; ++i)
 		{
 			MeshLib::Element* elem (sfc_elements[i]);
-			if (elem->getGeomType() == MshElemType::TRIANGLE) {
+			if (elem->getGeomType() == MeshElemType::TRIANGLE) {
 				MeshLib::Node** tri_nodes = new MeshLib::Node*[3];
 				for (unsigned k(0); k<3; k++)
 					tri_nodes[k] = sfc_nodes[node_id_map[elem->getNode(k)->getID()]];
@@ -146,7 +146,7 @@ void MeshSurfaceExtraction::get2DSurfaceElements(const std::vector<MeshLib::Elem
 									continue;
 							}
 
-							if (face->getGeomType() == MshElemType::TRIANGLE)
+							if (face->getGeomType() == MeshElemType::TRIANGLE)
 								sfc_elements.push_back(new MeshLib::Tri(*static_cast<const MeshLib::Tri*>(face)));
 							else
 								sfc_elements.push_back(new MeshLib::Quad(*static_cast<const MeshLib::Quad*>(face)));
diff --git a/MeshLib/convertMeshToGeo.cpp b/MeshLib/convertMeshToGeo.cpp
index ff46ecc90a840cf13ba4c78ff6c6f33bbe7978d9..76cbe28626f7d93fcf1a432140ca43dac8cff6df 100644
--- a/MeshLib/convertMeshToGeo.cpp
+++ b/MeshLib/convertMeshToGeo.cpp
@@ -51,9 +51,9 @@ bool convertMeshToGeo(const MeshLib::Mesh &mesh, GeoLib::GEOObjects* geo_objects
 	for (unsigned i=0; i<nElems; ++i)
 	{
 		MeshLib::Element* e (elements[i]);
-		if (e->getGeomType() == MshElemType::TRIANGLE)
+		if (e->getGeomType() == MeshElemType::TRIANGLE)
 			sfc->addTriangle(e->getNodeIndex(0), e->getNodeIndex(1), e->getNodeIndex(2));
-		if (e->getGeomType() == MshElemType::QUAD)
+		if (e->getGeomType() == MeshElemType::QUAD)
 		{
 			sfc->addTriangle(e->getNodeIndex(0), e->getNodeIndex(1), e->getNodeIndex(2));
 			sfc->addTriangle(e->getNodeIndex(0), e->getNodeIndex(2), e->getNodeIndex(3));
diff --git a/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp b/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
index 7386366bcc8182f3ae9286252193aa8d53c1647d..32622a95e89c226be467135a66ebb5f31ea8a99b 100644
--- a/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
+++ b/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
@@ -153,7 +153,7 @@ int main (int argc, char* argv[])
 		INFO("Variance of source: %f.", src_variance);
 	}
 
-	MeshLib::Mesh* src_mesh(MeshLib::ConvertRasterToMesh(*raster, MshElemType::QUAD,
+	MeshLib::Mesh* src_mesh(MeshLib::ConvertRasterToMesh(*raster, MeshElemType::QUAD,
 					MeshLib::UseIntensityAs::MATERIAL).execute());
 
 	std::vector<std::size_t> src_perm(size);
diff --git a/Utils/SimpleMeshCreation/generateStructuredQuadMesh.cpp b/Utils/SimpleMeshCreation/generateStructuredQuadMesh.cpp
index 281cdaee6d648f7915e0559c82b525492348b15b..571faee014be8dc8b30ce2c2f919b0b3e8d42e31 100644
--- a/Utils/SimpleMeshCreation/generateStructuredQuadMesh.cpp
+++ b/Utils/SimpleMeshCreation/generateStructuredQuadMesh.cpp
@@ -51,7 +51,7 @@ int main (int argc, char* argv[])
 	double* values (new double[size]);
 	const double origin[3] = {origin_x_arg.getValue() + edge_length/2, origin_y_arg.getValue() + edge_length/2, origin_z_arg.getValue()};
 	for (unsigned i=0; i<size; ++i) values[i]=0;
-	MeshLib::Mesh* mesh(VtkMeshConverter::convertImgToMesh(values, origin, height, width, edge_length, MshElemType::QUAD, UseIntensityAs::MATERIAL));
+	MeshLib::Mesh* mesh(VtkMeshConverter::convertImgToMesh(values, origin, height, width, edge_length, MeshElemType::QUAD, UseIntensityAs::MATERIAL));
 
 	delete [] values;