Add PropertyIntegerSet and some classes to FEM
This commit is contained in:
@@ -50,6 +50,16 @@ SET(Mod_SRCS
|
||||
SET(Fem_SRCS
|
||||
FemMeshObject.cpp
|
||||
FemMeshObject.h
|
||||
FemSetObject.cpp
|
||||
FemSetObject.h
|
||||
FemSetNodesObject.cpp
|
||||
FemSetNodesObject.h
|
||||
FemSetElementsObject.cpp
|
||||
FemSetElementsObject.h
|
||||
FemSetFacesObject.cpp
|
||||
FemSetFacesObject.h
|
||||
FemSetGeometryObject.cpp
|
||||
FemSetGeometryObject.h
|
||||
FemMesh.cpp
|
||||
FemMesh.h
|
||||
FemMeshProperty.cpp
|
||||
|
||||
59
src/Mod/Fem/App/FemSetElementsObject.cpp
Normal file
59
src/Mod/Fem/App/FemSetElementsObject.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include "FemSetElementsObject.h"
|
||||
#include <App/DocumentObjectPy.h>
|
||||
|
||||
using namespace Fem;
|
||||
using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(Fem::FemSetElementsObject, Fem::FemSetObject)
|
||||
|
||||
|
||||
FemSetElementsObject::FemSetElementsObject()
|
||||
{
|
||||
}
|
||||
|
||||
FemSetElementsObject::~FemSetElementsObject()
|
||||
{
|
||||
}
|
||||
|
||||
short FemSetElementsObject::mustExecute(void) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject *FemSetElementsObject::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new DocumentObjectPy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
59
src/Mod/Fem/App/FemSetElementsObject.h
Normal file
59
src/Mod/Fem/App/FemSetElementsObject.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef Fem_FemSetElementsObjec_H
|
||||
#define Fem_FemSetElementsObjec_H
|
||||
|
||||
#include <App/DocumentObject.h>
|
||||
#include <App/PropertyStandard.h>
|
||||
#include "FemSetObject.h"
|
||||
|
||||
namespace Fem
|
||||
{
|
||||
|
||||
class AppFemExport FemSetElementsObject : public FemSetObject
|
||||
{
|
||||
PROPERTY_HEADER(Fem::FemSetElementsObject);
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
FemSetElementsObject(void);
|
||||
virtual ~FemSetElementsObject();
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
//virtual const char* getViewProviderName(void) const {
|
||||
// return "FemGui::ViewProviderFemSet";
|
||||
//}
|
||||
virtual App::DocumentObjectExecReturn *execute(void) {
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
virtual short mustExecute(void) const;
|
||||
virtual PyObject *getPyObject(void);
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace Fem
|
||||
|
||||
|
||||
#endif // Fem_FemSetElementsObjec_H
|
||||
60
src/Mod/Fem/App/FemSetFacesObject.cpp
Normal file
60
src/Mod/Fem/App/FemSetFacesObject.cpp
Normal file
@@ -0,0 +1,60 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include "FemSetFacesObject.h"
|
||||
#include <App/DocumentObjectPy.h>
|
||||
#include <Base/Placement.h>
|
||||
|
||||
using namespace Fem;
|
||||
using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(Fem::FemSetFacesObject, Fem::FemSetObject)
|
||||
|
||||
|
||||
FemSetFacesObject::FemSetFacesObject()
|
||||
{
|
||||
}
|
||||
|
||||
FemSetFacesObject::~FemSetFacesObject()
|
||||
{
|
||||
}
|
||||
|
||||
short FemSetFacesObject::mustExecute(void) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject *FemSetFacesObject::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new DocumentObjectPy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
59
src/Mod/Fem/App/FemSetFacesObject.h
Normal file
59
src/Mod/Fem/App/FemSetFacesObject.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef Fem_FemSetFacesObject_H
|
||||
#define Fem_FemSetFacesObject_H
|
||||
|
||||
#include <App/DocumentObject.h>
|
||||
#include <App/PropertyStandard.h>
|
||||
#include "FemSetObject.h"
|
||||
|
||||
namespace Fem
|
||||
{
|
||||
|
||||
class AppFemExport FemSetFacesObject : public FemSetObject
|
||||
{
|
||||
PROPERTY_HEADER(Fem::FemSetFacesObject);
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
FemSetFacesObject(void);
|
||||
virtual ~FemSetFacesObject();
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
//virtual const char* getViewProviderName(void) const {
|
||||
// return "FemGui::ViewProviderFemSet";
|
||||
//}
|
||||
virtual App::DocumentObjectExecReturn *execute(void) {
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
virtual short mustExecute(void) const;
|
||||
virtual PyObject *getPyObject(void);
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace Fem
|
||||
|
||||
|
||||
#endif // Fem_FemSetFacesObject_H
|
||||
60
src/Mod/Fem/App/FemSetGeometryObject.cpp
Normal file
60
src/Mod/Fem/App/FemSetGeometryObject.cpp
Normal file
@@ -0,0 +1,60 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include "FemSetGeometryObject.h"
|
||||
#include <App/DocumentObjectPy.h>
|
||||
#include <Base/Placement.h>
|
||||
|
||||
using namespace Fem;
|
||||
using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(Fem::FemSetGeometryObject, Fem::FemSetObject)
|
||||
|
||||
|
||||
FemSetGeometryObject::FemSetGeometryObject()
|
||||
{
|
||||
}
|
||||
|
||||
FemSetGeometryObject::~FemSetGeometryObject()
|
||||
{
|
||||
}
|
||||
|
||||
short FemSetGeometryObject::mustExecute(void) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject *FemSetGeometryObject::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new DocumentObjectPy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
59
src/Mod/Fem/App/FemSetGeometryObject.h
Normal file
59
src/Mod/Fem/App/FemSetGeometryObject.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef Fem_FemSetGeometryObject_H
|
||||
#define Fem_FemSetGeometryObject_H
|
||||
|
||||
#include <App/DocumentObject.h>
|
||||
#include <App/PropertyStandard.h>
|
||||
#include "FemSetObject.h"
|
||||
|
||||
namespace Fem
|
||||
{
|
||||
|
||||
class AppFemExport FemSetGeometryObject : public FemSetObject
|
||||
{
|
||||
PROPERTY_HEADER(Fem::FemSetGeometryObject);
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
FemSetGeometryObject(void);
|
||||
virtual ~FemSetGeometryObject();
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
//virtual const char* getViewProviderName(void) const {
|
||||
// return "FemGui::ViewProviderFemSet";
|
||||
//}
|
||||
virtual App::DocumentObjectExecReturn *execute(void) {
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
virtual short mustExecute(void) const;
|
||||
virtual PyObject *getPyObject(void);
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace Fem
|
||||
|
||||
|
||||
#endif // Fem_FemSetGeometryObject_H
|
||||
61
src/Mod/Fem/App/FemSetNodesObject.cpp
Normal file
61
src/Mod/Fem/App/FemSetNodesObject.cpp
Normal file
@@ -0,0 +1,61 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include "FemSetNodesObject.h"
|
||||
#include <App/DocumentObjectPy.h>
|
||||
#include <Base/Placement.h>
|
||||
|
||||
using namespace Fem;
|
||||
using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(Fem::FemSetNodesObject, Fem::FemSetObject)
|
||||
|
||||
|
||||
FemSetNodesObject::FemSetNodesObject()
|
||||
{
|
||||
ADD_PROPERTY_TYPE(Nodes,(), "Node indexes",Prop_None,"Nodes belonging to the NodesSet");
|
||||
}
|
||||
|
||||
FemSetNodesObject::~FemSetNodesObject()
|
||||
{
|
||||
}
|
||||
|
||||
short FemSetNodesObject::mustExecute(void) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject *FemSetNodesObject::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new DocumentObjectPy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
61
src/Mod/Fem/App/FemSetNodesObject.h
Normal file
61
src/Mod/Fem/App/FemSetNodesObject.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef Fem_FemSetNodesObject_H
|
||||
#define Fem_FemSetNodesObject_H
|
||||
|
||||
#include <App/DocumentObject.h>
|
||||
#include <App/PropertyStandard.h>
|
||||
#include "FemSetObject.h"
|
||||
|
||||
namespace Fem
|
||||
{
|
||||
|
||||
class AppFemExport FemSetNodesObject : public FemSetObject
|
||||
{
|
||||
PROPERTY_HEADER(Fem::FemSetNodesObject);
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
FemSetNodesObject(void);
|
||||
virtual ~FemSetNodesObject();
|
||||
|
||||
App::PropertyIntegerSet Nodes;
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
//virtual const char* getViewProviderName(void) const {
|
||||
// return "FemGui::ViewProviderFemSet";
|
||||
//}
|
||||
virtual App::DocumentObjectExecReturn *execute(void) {
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
virtual short mustExecute(void) const;
|
||||
virtual PyObject *getPyObject(void);
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace Fem
|
||||
|
||||
|
||||
#endif // Fem_FemSetNodesObject_H
|
||||
60
src/Mod/Fem/App/FemSetObject.cpp
Normal file
60
src/Mod/Fem/App/FemSetObject.cpp
Normal file
@@ -0,0 +1,60 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include "FemSetObject.h"
|
||||
#include <App/DocumentObjectPy.h>
|
||||
#include <Base/Placement.h>
|
||||
|
||||
using namespace Fem;
|
||||
using namespace App;
|
||||
|
||||
PROPERTY_SOURCE(Fem::FemSetObject, App::DocumentObject)
|
||||
|
||||
|
||||
FemSetObject::FemSetObject()
|
||||
{
|
||||
}
|
||||
|
||||
FemSetObject::~FemSetObject()
|
||||
{
|
||||
}
|
||||
|
||||
short FemSetObject::mustExecute(void) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyObject *FemSetObject::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new DocumentObjectPy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
59
src/Mod/Fem/App/FemSetObject.h
Normal file
59
src/Mod/Fem/App/FemSetObject.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013 Jürgen Riegel (FreeCAD@juergen-riegel.net) *
|
||||
* *
|
||||
* This file is part of the FreeCAD CAx development system. *
|
||||
* *
|
||||
* This library is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Library General Public *
|
||||
* License as published by the Free Software Foundation; either *
|
||||
* version 2 of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU Library General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Library General Public *
|
||||
* License along with this library; see the file COPYING.LIB. If not, *
|
||||
* write to the Free Software Foundation, Inc., 59 Temple Place, *
|
||||
* Suite 330, Boston, MA 02111-1307, USA *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef Fem_FemSetObject_H
|
||||
#define Fem_FemSetObject_H
|
||||
|
||||
#include <App/DocumentObject.h>
|
||||
#include <App/PropertyStandard.h>
|
||||
#include "FemSetObject.h"
|
||||
|
||||
namespace Fem
|
||||
{
|
||||
|
||||
class AppFemExport FemSetObject : public App::DocumentObject
|
||||
{
|
||||
PROPERTY_HEADER(Fem::FemSetObject);
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
FemSetObject(void);
|
||||
virtual ~FemSetObject();
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
//virtual const char* getViewProviderName(void) const {
|
||||
// return "FemGui::ViewProviderFemSet";
|
||||
//}
|
||||
virtual App::DocumentObjectExecReturn *execute(void) {
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
virtual short mustExecute(void) const;
|
||||
virtual PyObject *getPyObject(void);
|
||||
|
||||
|
||||
};
|
||||
|
||||
} //namespace Fem
|
||||
|
||||
|
||||
#endif // Fem_FemSetObject_H
|
||||
@@ -72,6 +72,103 @@ bool CmdFemCreateFromShape::isActive(void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//DEF_STD_CMD_A(CmdFemDefineNodesSet);
|
||||
//
|
||||
//
|
||||
//void DefineNodesCallback(void * ud, SoEventCallback * n)
|
||||
//{
|
||||
// // show the wait cursor because this could take quite some time
|
||||
// Gui::WaitCursor wc;
|
||||
//
|
||||
// // When this callback function is invoked we must in either case leave the edit mode
|
||||
// Gui::View3DInventorViewer* view = reinterpret_cast<Gui::View3DInventorViewer*>(n->getUserData());
|
||||
// view->setEditing(false);
|
||||
// view->removeEventCallback(SoMouseButtonEvent::getClassTypeId(), clipMeshCallback,ud);
|
||||
// n->setHandled();
|
||||
//
|
||||
// SbBool clip_inner;
|
||||
// std::vector<SbVec2f> clPoly = view->getGLPolygon(&clip_inner);
|
||||
// if (clPoly.size() < 3)
|
||||
// return;
|
||||
// if (clPoly.front() != clPoly.back())
|
||||
// clPoly.push_back(clPoly.front());
|
||||
//
|
||||
// std::vector<Gui::ViewProvider*> views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId());
|
||||
// if (!views.empty()) {
|
||||
// Gui::Application::Instance->activeDocument()->openCommand("Cut");
|
||||
// for (std::vector<Gui::ViewProvider*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
// ViewProviderMesh* that = static_cast<ViewProviderMesh*>(*it);
|
||||
// if (that->getEditingMode() > -1) {
|
||||
// that->finishEditing();
|
||||
// that->cutMesh(clPoly, *view, clip_inner);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// Gui::Application::Instance->activeDocument()->commitCommand();
|
||||
//
|
||||
// view->render();
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//
|
||||
//
|
||||
//CmdMeshPolyCut::CmdMeshPolyCut()
|
||||
// : Command("Mesh_PolyCut")
|
||||
//{
|
||||
// sAppModule = "Mesh";
|
||||
// sGroup = QT_TR_NOOP("Mesh");
|
||||
// sMenuText = QT_TR_NOOP("Cut mesh");
|
||||
// sToolTipText = QT_TR_NOOP("Cuts a mesh with a picked polygon");
|
||||
// sWhatsThis = "Mesh_PolyCut";
|
||||
// sStatusTip = QT_TR_NOOP("Cuts a mesh with a picked polygon");
|
||||
// sPixmap = "mesh_cut";
|
||||
//}
|
||||
//
|
||||
//void CmdMeshPolyCut::activated(int iMsg)
|
||||
//{
|
||||
// std::vector<App::DocumentObject*> docObj = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId());
|
||||
// for (std::vector<App::DocumentObject*>::iterator it = docObj.begin(); it != docObj.end(); ++it) {
|
||||
// if (it == docObj.begin()) {
|
||||
// Gui::Document* doc = getActiveGuiDocument();
|
||||
// Gui::MDIView* view = doc->getActiveView();
|
||||
// if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
// Gui::View3DInventorViewer* viewer = ((Gui::View3DInventor*)view)->getViewer();
|
||||
// viewer->setEditing(true);
|
||||
// viewer->startSelection(Gui::View3DInventorViewer::Clip);
|
||||
// viewer->addEventCallback(SoMouseButtonEvent::getClassTypeId(), MeshGui::ViewProviderMeshFaceSet::clipMeshCallback);
|
||||
// }
|
||||
// else {
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// Gui::ViewProvider* pVP = getActiveGuiDocument()->getViewProvider(*it);
|
||||
// if (pVP->isVisible())
|
||||
// pVP->startEditing();
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//bool CmdMeshPolyCut::isActive(void)
|
||||
//{
|
||||
// // Check for the selected mesh feature (all Mesh types)
|
||||
// if (getSelection().countObjectsOfType(Mesh::Feature::getClassTypeId()) == 0)
|
||||
// return false;
|
||||
//
|
||||
// Gui::MDIView* view = Gui::getMainWindow()->activeWindow();
|
||||
// if (view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
// Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
|
||||
// return !viewer->isEditing();
|
||||
// }
|
||||
//
|
||||
// return false;
|
||||
//}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void CreateFemCommands(void)
|
||||
{
|
||||
Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager();
|
||||
|
||||
@@ -170,7 +170,7 @@ ViewProviderFemMesh::ViewProviderFemMesh()
|
||||
ADD_PROPERTY(PointColor,(mat.diffuseColor));
|
||||
ADD_PROPERTY(PointSize,(2.0f));
|
||||
PointSize.setConstraints(&floatRange);
|
||||
ADD_PROPERTY(LineWidth,(4.0f));
|
||||
ADD_PROPERTY(LineWidth,(2.0f));
|
||||
LineWidth.setConstraints(&floatRange);
|
||||
|
||||
ADD_PROPERTY(BackfaceCulling,(true));
|
||||
|
||||
Reference in New Issue
Block a user