[FEM] remove unused headers from WBs main files
- also some code style fixes by MSVC
This commit is contained in:
@@ -4,24 +4,19 @@
|
||||
#ifndef _PreComp_
|
||||
# include <SMESH_Mesh.hxx>
|
||||
# include <SMESHDS_Mesh.hxx>
|
||||
# include <SMDSAbs_ElementType.hxx>
|
||||
#endif
|
||||
|
||||
#include <Base/VectorPy.h>
|
||||
#include <Base/GeometryPyCXX.h>
|
||||
|
||||
#include <App/DocumentObjectPy.h>
|
||||
|
||||
#include <Mod/Fem/Gui/ViewProviderFemMesh.h>
|
||||
#include <Mod/Fem/App/FemResultObject.h>
|
||||
#include <Mod/Fem/App/FemMeshObject.h>
|
||||
#include <Mod/Fem/App/FemMesh.h>
|
||||
|
||||
#include "ViewProviderFemMesh.h"
|
||||
|
||||
// inclusion of the generated files (generated out of ViewProviderFemMeshPy.xml)
|
||||
#include "ViewProviderFemMeshPy.h"
|
||||
#include "ViewProviderFemMeshPy.cpp"
|
||||
|
||||
|
||||
using namespace FemGui;
|
||||
|
||||
// returns a string which represents the object e.g. when printed in python
|
||||
@@ -31,7 +26,7 @@ std::string ViewProviderFemMeshPy::representation(void) const
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::applyDisplacement(PyObject * args)
|
||||
PyObject* ViewProviderFemMeshPy::applyDisplacement(PyObject* args)
|
||||
{
|
||||
double factor;
|
||||
if (!PyArg_ParseTuple(args, "d", &factor))
|
||||
@@ -43,37 +38,37 @@ PyObject* ViewProviderFemMeshPy::applyDisplacement(PyObject * args)
|
||||
}
|
||||
|
||||
|
||||
App::Color calcColor(double value,double min, double max)
|
||||
App::Color calcColor(double value, double min, double max)
|
||||
{
|
||||
if (max < 0) max = 0;
|
||||
if (min > 0) min = 0;
|
||||
|
||||
if (value < min)
|
||||
return App::Color (0.0,0.0,1.0);
|
||||
return App::Color(0.0, 0.0, 1.0);
|
||||
if (value > max)
|
||||
return App::Color (1.0,0.0,0.0);
|
||||
return App::Color(1.0, 0.0, 0.0);
|
||||
if (value == 0.0)
|
||||
return App::Color (0.0,1.0,0.0);
|
||||
if ( value > max/2.0 )
|
||||
return App::Color (1.0,1-((value-(max/2.0)) / (max/2.0)),0.0);
|
||||
if ( value > 0.0 )
|
||||
return App::Color (value/(max/2.0),1.0,0.0) ;
|
||||
if ( value < min/2.0 )
|
||||
return App::Color (0.0,1-((value-(min/2.0)) / (min/2.0)),1.0);
|
||||
if ( value < 0.0 )
|
||||
return App::Color (0.0,1.0,value/(min/2.0)) ;
|
||||
return App::Color (0,0,0);
|
||||
return App::Color(0.0, 1.0, 0.0);
|
||||
if (value > max / 2.0)
|
||||
return App::Color(1.0, 1 - ((value - (max / 2.0)) / (max / 2.0)), 0.0);
|
||||
if (value > 0.0)
|
||||
return App::Color(value / (max / 2.0), 1.0, 0.0);
|
||||
if (value < min / 2.0)
|
||||
return App::Color(0.0, 1 - ((value - (min / 2.0)) / (min / 2.0)), 1.0);
|
||||
if (value < 0.0)
|
||||
return App::Color(0.0, 1.0, value / (min / 2.0));
|
||||
return App::Color(0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args)
|
||||
PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject* args)
|
||||
{
|
||||
double max = -1e12;
|
||||
double min = +1e12;
|
||||
PyObject *node_ids_py;
|
||||
PyObject *values_py;
|
||||
PyObject* node_ids_py;
|
||||
PyObject* values_py;
|
||||
|
||||
if (PyArg_ParseTuple(args,"O!O!",&PyList_Type, &node_ids_py, &PyList_Type, &values_py)) {
|
||||
if (PyArg_ParseTuple(args, "O!O!", &PyList_Type, &node_ids_py, &PyList_Type, &values_py)) {
|
||||
std::vector<long> ids;
|
||||
std::vector<double> values;
|
||||
int num_items = PyList_Size(node_ids_py);
|
||||
@@ -82,23 +77,24 @@ PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args)
|
||||
Py_Return;
|
||||
}
|
||||
std::vector<App::Color> node_colors(num_items);
|
||||
for (int i=0; i<num_items; i++){
|
||||
PyObject *id_py = PyList_GetItem(node_ids_py, i);
|
||||
for (int i = 0; i < num_items; i++) {
|
||||
PyObject* id_py = PyList_GetItem(node_ids_py, i);
|
||||
long id = PyLong_AsLong(id_py);
|
||||
ids.push_back(id);
|
||||
PyObject *value_py = PyList_GetItem(values_py, i);
|
||||
PyObject* value_py = PyList_GetItem(values_py, i);
|
||||
double val = PyFloat_AsDouble(value_py);
|
||||
values.push_back(val);
|
||||
if(val > max)
|
||||
if (val > max)
|
||||
max = val;
|
||||
if(val < min)
|
||||
if (val < min)
|
||||
min = val;
|
||||
}
|
||||
long i=0;
|
||||
for(std::vector<double>::const_iterator it=values.begin(); it!=values.end(); ++it, i++)
|
||||
long i = 0;
|
||||
for (std::vector<double>::const_iterator it = values.begin(); it != values.end(); ++it, i++)
|
||||
node_colors[i] = calcColor(*it, min, max);
|
||||
this->getViewProviderFemMeshPtr()->setColorByNodeId(ids, node_colors);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
PyErr_SetString(PyExc_TypeError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeByScalars");
|
||||
return 0;
|
||||
}
|
||||
@@ -106,7 +102,7 @@ PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::resetNodeColor(PyObject *args)
|
||||
PyObject* ViewProviderFemMeshPy::resetNodeColor(PyObject* args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
@@ -115,11 +111,11 @@ PyObject* ViewProviderFemMeshPy::resetNodeColor(PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args)
|
||||
PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject* args)
|
||||
{
|
||||
PyObject *node_ids_py;
|
||||
PyObject *vectors_py;
|
||||
if (PyArg_ParseTuple(args,"O!O!",&PyList_Type, &node_ids_py, &PyList_Type, &vectors_py)) {
|
||||
PyObject* node_ids_py;
|
||||
PyObject* vectors_py;
|
||||
if (PyArg_ParseTuple(args, "O!O!", &PyList_Type, &node_ids_py, &PyList_Type, &vectors_py)) {
|
||||
std::vector<long> ids;
|
||||
std::vector<Base::Vector3d> vectors;
|
||||
int num_items = PyList_Size(node_ids_py);
|
||||
@@ -127,16 +123,17 @@ PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args)
|
||||
PyErr_SetString(PyExc_ValueError, "PyList_Size < 0. That is not a valid list!");
|
||||
Py_Return;
|
||||
}
|
||||
for (int i=0; i<num_items; i++){
|
||||
PyObject *id_py = PyList_GetItem(node_ids_py, i);
|
||||
for (int i = 0; i < num_items; i++) {
|
||||
PyObject* id_py = PyList_GetItem(node_ids_py, i);
|
||||
long id = PyLong_AsLong(id_py);
|
||||
ids.push_back(id);
|
||||
PyObject *vector_py = PyList_GetItem(vectors_py, i);
|
||||
PyObject* vector_py = PyList_GetItem(vectors_py, i);
|
||||
Base::Vector3d vec = Base::getVectorFromTuple<double>(vector_py);
|
||||
vectors.push_back(vec);
|
||||
}
|
||||
this->getViewProviderFemMeshPtr()->setDisplacementByNodeId(ids, vectors);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
PyErr_SetString(PyExc_TypeError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeDisplacementByVectors");
|
||||
return 0;
|
||||
}
|
||||
@@ -144,7 +141,7 @@ PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::resetNodeDisplacement(PyObject *args)
|
||||
PyObject* ViewProviderFemMeshPy::resetNodeDisplacement(PyObject* args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
@@ -163,7 +160,7 @@ Py::Dict ViewProviderFemMeshPy::getNodeColor(void) const
|
||||
void ViewProviderFemMeshPy::setNodeColor(Py::Dict arg)
|
||||
{
|
||||
long size = arg.size();
|
||||
if(size == 0)
|
||||
if (size == 0)
|
||||
this->getViewProviderFemMeshPtr()->resetColorByNodeId();
|
||||
else {
|
||||
Base::TimeInfo Start;
|
||||
@@ -179,17 +176,17 @@ void ViewProviderFemMeshPy::setNodeColor(Py::Dict arg)
|
||||
std::vector<App::Color> NodeColors(size);
|
||||
|
||||
long i = 0;
|
||||
for( Py::Dict::iterator it = arg.begin(); it!= arg.end();++it,i++){
|
||||
for (Py::Dict::iterator it = arg.begin(); it != arg.end(); ++it, i++) {
|
||||
Py::Long id((*it).first);
|
||||
Py::Tuple color((*it).second);
|
||||
NodeIds[i] = id;
|
||||
NodeColors[i] = App::Color(Py::Float(color[0]),Py::Float(color[1]),Py::Float(color[2]),0);
|
||||
NodeIds[i] = id;
|
||||
NodeColors[i] = App::Color(Py::Float(color[0]), Py::Float(color[1]), Py::Float(color[2]), 0);
|
||||
}
|
||||
Base::Console().Log(" %f: Start ViewProviderFemMeshPy::setNodeColor() call \n",Base::TimeInfo::diffTimeF(Start,Base::TimeInfo()));
|
||||
Base::Console().Log(" %f: Start ViewProviderFemMeshPy::setNodeColor() call \n", Base::TimeInfo::diffTimeF(Start, Base::TimeInfo()));
|
||||
|
||||
//this->getViewProviderFemMeshPtr()->setColorByNodeId(NodeColorMap);
|
||||
this->getViewProviderFemMeshPtr()->setColorByNodeId(NodeIds,NodeColors);
|
||||
Base::Console().Log(" %f: Finish ViewProviderFemMeshPy::setNodeColor() call \n",Base::TimeInfo::diffTimeF(Start,Base::TimeInfo()));
|
||||
this->getViewProviderFemMeshPtr()->setColorByNodeId(NodeIds, NodeColors);
|
||||
Base::Console().Log(" %f: Finish ViewProviderFemMeshPy::setNodeColor() call \n", Base::TimeInfo::diffTimeF(Start, Base::TimeInfo()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,15 +200,15 @@ Py::Dict ViewProviderFemMeshPy::getElementColor(void) const
|
||||
|
||||
void ViewProviderFemMeshPy::setElementColor(Py::Dict arg)
|
||||
{
|
||||
if(arg.size() == 0)
|
||||
if (arg.size() == 0)
|
||||
this->getViewProviderFemMeshPtr()->resetColorByNodeId();
|
||||
else {
|
||||
std::map<long,App::Color> NodeColorMap;
|
||||
std::map<long, App::Color> NodeColorMap;
|
||||
|
||||
for( Py::Dict::iterator it = arg.begin(); it!= arg.end();++it){
|
||||
for (Py::Dict::iterator it = arg.begin(); it != arg.end(); ++it) {
|
||||
Py::Long id((*it).first);
|
||||
Py::Tuple color((*it).second);
|
||||
NodeColorMap[id] = App::Color(Py::Float(color[0]),Py::Float(color[1]),Py::Float(color[2]),0);
|
||||
NodeColorMap[id] = App::Color(Py::Float(color[0]), Py::Float(color[1]), Py::Float(color[2]), 0);
|
||||
}
|
||||
this->getViewProviderFemMeshPtr()->setColorByElementId(NodeColorMap);
|
||||
}
|
||||
@@ -227,14 +224,14 @@ Py::Dict ViewProviderFemMeshPy::getNodeDisplacement(void) const
|
||||
|
||||
void ViewProviderFemMeshPy::setNodeDisplacement(Py::Dict arg)
|
||||
{
|
||||
if(arg.size() == 0)
|
||||
if (arg.size() == 0)
|
||||
this->getViewProviderFemMeshPtr()->resetColorByNodeId();
|
||||
else {
|
||||
std::map<long,Base::Vector3d> NodeDispMap;
|
||||
union PyType_Object pyType = {&(Base::VectorPy::Type)};
|
||||
std::map<long, Base::Vector3d> NodeDispMap;
|
||||
union PyType_Object pyType = { &(Base::VectorPy::Type) };
|
||||
Py::Type vType(pyType.o);
|
||||
|
||||
for( Py::Dict::iterator it = arg.begin(); it!= arg.end();++it){
|
||||
for (Py::Dict::iterator it = arg.begin(); it != arg.end(); ++it) {
|
||||
Py::Long id((*it).first);
|
||||
if ((*it).second.isType(vType)) {
|
||||
Py::Vector p((*it).second);
|
||||
@@ -265,9 +262,9 @@ void ViewProviderFemMeshPy::setHighlightedNodes(Py::List arg)
|
||||
(vp->getObject())->FemMesh).getValue().getSMesh())->GetMeshDS();
|
||||
|
||||
std::set<long> res;
|
||||
for (Py::List::iterator it = arg.begin(); it!= arg.end();++it) {
|
||||
for (Py::List::iterator it = arg.begin(); it != arg.end(); ++it) {
|
||||
long id = static_cast<long>(Py::Long(*it));
|
||||
const SMDS_MeshNode *node = data->FindNode(id);
|
||||
const SMDS_MeshNode* node = data->FindNode(id);
|
||||
if (node)
|
||||
res.insert(id);
|
||||
}
|
||||
@@ -276,7 +273,7 @@ void ViewProviderFemMeshPy::setHighlightedNodes(Py::List arg)
|
||||
}
|
||||
|
||||
|
||||
PyObject* ViewProviderFemMeshPy::resetHighlightedNodes(PyObject *args)
|
||||
PyObject* ViewProviderFemMeshPy::resetHighlightedNodes(PyObject* args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
@@ -287,41 +284,41 @@ PyObject* ViewProviderFemMeshPy::resetHighlightedNodes(PyObject *args)
|
||||
|
||||
Py::List ViewProviderFemMeshPy::getVisibleElementFaces(void) const
|
||||
{
|
||||
const std::vector<unsigned long> & visElmFc = this->getViewProviderFemMeshPtr()->getVisibleElementFaces();
|
||||
const std::vector<unsigned long>& visElmFc = this->getViewProviderFemMeshPtr()->getVisibleElementFaces();
|
||||
std::vector<unsigned long> trans;
|
||||
|
||||
// sorting out double faces through higher order elements and null entries
|
||||
long elementOld =0, faceOld=0;
|
||||
for (std::vector<unsigned long>::const_iterator it = visElmFc.begin();it!=visElmFc.end();++it){
|
||||
if(*it == 0)
|
||||
long elementOld = 0, faceOld = 0;
|
||||
for (std::vector<unsigned long>::const_iterator it = visElmFc.begin(); it != visElmFc.end(); ++it) {
|
||||
if (*it == 0)
|
||||
continue;
|
||||
|
||||
long element = *it>>3;
|
||||
long face = (*it&7)+1;
|
||||
if(element == elementOld && face==faceOld)
|
||||
long element = *it >> 3;
|
||||
long face = (*it & 7) + 1;
|
||||
if (element == elementOld && face == faceOld)
|
||||
continue;
|
||||
|
||||
trans.push_back(*it);
|
||||
elementOld = element;
|
||||
faceOld = face;
|
||||
faceOld = face;
|
||||
}
|
||||
|
||||
Py::List result( trans.size() );
|
||||
Py::List result(trans.size());
|
||||
int i = 0;
|
||||
for (std::vector<unsigned long>::const_iterator it = trans.begin();it!=trans.end();++it,i++){
|
||||
for (std::vector<unsigned long>::const_iterator it = trans.begin(); it != trans.end(); ++it, i++) {
|
||||
Py::Tuple tup(2);
|
||||
long element = *it>>3;
|
||||
long face = (*it&7)+1;
|
||||
tup.setItem( 0,Py::Long( element ) );
|
||||
tup.setItem( 1,Py::Long( face ) );
|
||||
result.setItem(i,tup);
|
||||
long element = *it >> 3;
|
||||
long face = (*it & 7) + 1;
|
||||
tup.setItem(0, Py::Long(element));
|
||||
tup.setItem(1, Py::Long(face));
|
||||
result.setItem(i, tup);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
PyObject *ViewProviderFemMeshPy::getCustomAttributes(const char* /*attr*/) const
|
||||
PyObject* ViewProviderFemMeshPy::getCustomAttributes(const char* /*attr*/) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -331,5 +328,3 @@ int ViewProviderFemMeshPy::setCustomAttributes(const char* /*attr*/, PyObject* /
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user