implement active body in PartDesign
This commit is contained in:
parent
117238da50
commit
b825571562
|
@ -22,11 +22,58 @@
|
||||||
|
|
||||||
|
|
||||||
#include "PreCompiled.h"
|
#include "PreCompiled.h"
|
||||||
#ifndef _PreComp_
|
#ifndef _PreComp_
|
||||||
# include <Python.h>
|
# include <Python.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <Base/PyObjectBase.h>
|
||||||
|
#include <Base/Console.h>
|
||||||
|
|
||||||
|
#include <Gui/Application.h>
|
||||||
|
#include <Gui/Document.h>
|
||||||
|
#include <Gui/Tree.h>
|
||||||
|
#include <Gui/ViewProviderDocumentObject.h>
|
||||||
|
|
||||||
|
#include <Mod/PartDesign/App/BodyPy.h>
|
||||||
|
|
||||||
|
// pointer to the active assembly object
|
||||||
|
PartDesign::Body *ActivePartObject =0;
|
||||||
|
Gui::Document *ActiveGuiDoc =0;
|
||||||
|
Gui::ViewProviderDocumentObject *ActiveVp =0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static PyObject * setActivePart(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
PyObject *object=0;
|
||||||
|
if (PyArg_ParseTuple(args,"|O!",&(PartDesign::BodyPy::Type), &object)&& object) {
|
||||||
|
PartDesign::Body* Item = static_cast<PartDesign::BodyPy*>(object)->getBodyPtr();
|
||||||
|
// Should be set!
|
||||||
|
assert(Item);
|
||||||
|
|
||||||
|
// get the gui document of the Assembly Item
|
||||||
|
if(ActivePartObject){
|
||||||
|
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,false);
|
||||||
|
ActivePartObject = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
ActivePartObject = Item;
|
||||||
|
ActiveGuiDoc = Gui::Application::Instance->getDocument(Item->getDocument());
|
||||||
|
ActiveVp = dynamic_cast<Gui::ViewProviderDocumentObject*> (ActiveGuiDoc->getViewProvider(Item)) ;
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,true);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,false);
|
||||||
|
ActivePartObject = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Py_Return;
|
||||||
|
}
|
||||||
/* registration table */
|
/* registration table */
|
||||||
struct PyMethodDef Assembly_methods[] = {
|
struct PyMethodDef Assembly_methods[] = {
|
||||||
|
{"setActivePart" ,setActivePart ,METH_VARARGS,
|
||||||
|
"setActivePart(BodyObject) -- Set the PartBody object in work."},
|
||||||
|
|
||||||
{NULL, NULL} /* end of table marker */
|
{NULL, NULL} /* end of table marker */
|
||||||
};
|
};
|
||||||
|
|
86
src/Mod/Assembly/App/AppAssemblyPy.cpp.orig
Normal file
86
src/Mod/Assembly/App/AppAssemblyPy.cpp.orig
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (c) 2008 Jürgen Riegel (juergen.riegel@web.de) *
|
||||||
|
* *
|
||||||
|
* 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_
|
||||||
|
# include <Python.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
<<<<<<< 8ef3abc971814e64ef79a85812dd1a5827ba955f:src/Mod/Assembly/App/AppAssemblyPy.cpp
|
||||||
|
/* registration table */
|
||||||
|
struct PyMethodDef Assembly_methods[] = {
|
||||||
|
{NULL, NULL} /* end of table marker */
|
||||||
|
=======
|
||||||
|
#include <Base/PyObjectBase.h>
|
||||||
|
#include <Base/Console.h>
|
||||||
|
|
||||||
|
#include <Gui/Application.h>
|
||||||
|
#include <Gui/Document.h>
|
||||||
|
#include <Gui/Tree.h>
|
||||||
|
#include <Gui/ViewProviderDocumentObject.h>
|
||||||
|
|
||||||
|
#include <Mod/PartDesign/App/BodyPy.h>
|
||||||
|
|
||||||
|
// pointer to the active assembly object
|
||||||
|
PartDesign::Body *ActivePartObject =0;
|
||||||
|
Gui::Document *ActiveGuiDoc =0;
|
||||||
|
Gui::ViewProviderDocumentObject *ActiveVp =0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static PyObject * setActivePart(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
PyObject *object=0;
|
||||||
|
if (PyArg_ParseTuple(args,"|O!",&(PartDesign::BodyPy::Type), &object)&& object) {
|
||||||
|
PartDesign::Body* Item = static_cast<PartDesign::BodyPy*>(object)->getBodyPtr();
|
||||||
|
// Should be set!
|
||||||
|
assert(Item);
|
||||||
|
|
||||||
|
// get the gui document of the Assembly Item
|
||||||
|
if(ActivePartObject){
|
||||||
|
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,false);
|
||||||
|
ActivePartObject = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
ActivePartObject = Item;
|
||||||
|
ActiveGuiDoc = Gui::Application::Instance->getDocument(Item->getDocument());
|
||||||
|
ActiveVp = dynamic_cast<Gui::ViewProviderDocumentObject*> (ActiveGuiDoc->getViewProvider(Item)) ;
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,true);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
ActiveGuiDoc->signalHighlightObject(*ActiveVp,Gui::Blue,false);
|
||||||
|
ActivePartObject = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Py_Return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* registration table */
|
||||||
|
struct PyMethodDef PartDesignGui_Import_methods[] = {
|
||||||
|
{"setActivePart" ,setActivePart ,METH_VARARGS,
|
||||||
|
"setActivePart(BodyObject) -- Set the PartBody object in work."},
|
||||||
|
|
||||||
|
{NULL, NULL} /* end of table marker */
|
||||||
|
>>>>>>> implement active body in PartDesign:src/Mod/PartDesign/Gui/AppPartDesignGuiPy.cpp
|
||||||
|
};
|
|
@ -82,27 +82,29 @@ void CmdAssemblyAddNewPart::activated(int iMsg)
|
||||||
Command::addModule(App,"PartDesign");
|
Command::addModule(App,"PartDesign");
|
||||||
Command::addModule(Gui,"PartDesignGui");
|
Command::addModule(Gui,"PartDesignGui");
|
||||||
|
|
||||||
#if 1 // test code for children nesting
|
|
||||||
Command::addModule(App,"Part");
|
|
||||||
std::string BodyName = getUniqueObjectName("Box");
|
|
||||||
doCommand(Doc,"App.activeDocument().addObject('Part::Box','%s')",BodyName.c_str());
|
|
||||||
doCommand(Doc,"App.activeDocument().%s.Model = App.activeDocument().%s ",PartName.c_str(),BodyName.c_str(),BodyName.c_str());
|
|
||||||
#else
|
|
||||||
|
|
||||||
std::string BodyName = getUniqueObjectName("Body");
|
std::string BodyName = getUniqueObjectName("Body");
|
||||||
// add the standard planes
|
// add the standard planes
|
||||||
std::string Plane1Name = BodyName + "_PlaneXY";
|
std::string Plane1Name = BodyName + "_PlaneXY";
|
||||||
std::string Plane2Name = BodyName + "_PlaneYZ";
|
std::string Plane2Name = BodyName + "_PlaneYZ";
|
||||||
std::string Plane3Name = BodyName + "_PlaneXZ";
|
std::string Plane3Name = BodyName + "_PlaneXZ";
|
||||||
doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane1Name.c_str());
|
//doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane1Name.c_str());
|
||||||
doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane2Name.c_str());
|
//doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane2Name.c_str());
|
||||||
doCommand(Doc,"App.activeDocument().%s.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(-0.707107,0.000000,0.000000,-0.707107))",Plane2Name.c_str());
|
//doCommand(Doc,"App.activeDocument().%s.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(-0.707107,0.000000,0.000000,-0.707107))",Plane2Name.c_str());
|
||||||
doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane3Name.c_str());
|
//doCommand(Doc,"App.activeDocument().addObject('App::Plane','%s')",Plane3Name.c_str());
|
||||||
doCommand(Doc,"App.activeDocument().%s.Annotation = [App.activeDocument().%s,App.activeDocument().%s,App.activeDocument().%s] ",PartName.c_str(),Plane1Name.c_str(),Plane2Name.c_str(),Plane3Name.c_str());
|
//doCommand(Doc,"App.activeDocument().%s.Annotation = [App.activeDocument().%s,App.activeDocument().%s,App.activeDocument().%s] ",PartName.c_str(),Plane1Name.c_str(),Plane2Name.c_str(),Plane3Name.c_str());
|
||||||
// add the main body
|
// add the main body
|
||||||
doCommand(Doc,"App.activeDocument().addObject('PartDesign::Body','%s')",BodyName.c_str());
|
doCommand(Doc,"App.activeDocument().addObject('PartDesign::Body','%s')",BodyName.c_str());
|
||||||
doCommand(Doc,"App.activeDocument().%s.Model = App.activeDocument().%s ",PartName.c_str(),BodyName.c_str(),BodyName.c_str());
|
doCommand(Doc,"App.activeDocument().%s.Model = App.activeDocument().%s ",PartName.c_str(),BodyName.c_str());
|
||||||
#endif #
|
|
||||||
|
#if 0 // test code for children nesting
|
||||||
|
Command::addModule(App,"Part");
|
||||||
|
std::string BoxName = getUniqueObjectName("Box");
|
||||||
|
doCommand(Doc,"App.activeDocument().addObject('Part::Box','%s')",BoxName.c_str());
|
||||||
|
doCommand(Doc,"App.activeDocument().%s.Model = App.activeDocument().%s ",BodyName.c_str(),BoxName.c_str());
|
||||||
|
doCommand(Doc,"App.activeDocument().%s.Tip = App.activeDocument().%s ",BodyName.c_str(),BoxName.c_str());
|
||||||
|
#endif
|
||||||
|
|
||||||
this->updateActive();
|
this->updateActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,8 @@ void Workbench::activated()
|
||||||
|
|
||||||
void Workbench::deactivated()
|
void Workbench::deactivated()
|
||||||
{
|
{
|
||||||
|
Gui::Command::doCommand(Gui::Command::Doc,"AssemblyGui.setActiveAssembly(None)");
|
||||||
|
|
||||||
Gui::Workbench::deactivated();
|
Gui::Workbench::deactivated();
|
||||||
removeTaskWatcher();
|
removeTaskWatcher();
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
#include "FeatureMirroring.h"
|
#include "FeatureMirroring.h"
|
||||||
#include "FeatureRevolution.h"
|
#include "FeatureRevolution.h"
|
||||||
#include "PartFeatures.h"
|
#include "PartFeatures.h"
|
||||||
#include "Body.h"
|
#include "BodyBase.h"
|
||||||
#include "PrimitiveFeature.h"
|
#include "PrimitiveFeature.h"
|
||||||
#include "Part2DObject.h"
|
#include "Part2DObject.h"
|
||||||
#include "CustomFeature.h"
|
#include "CustomFeature.h"
|
||||||
|
@ -219,7 +219,7 @@ PyMODINIT_FUNC initPart()
|
||||||
|
|
||||||
Part::Feature ::init();
|
Part::Feature ::init();
|
||||||
Part::FeatureExt ::init();
|
Part::FeatureExt ::init();
|
||||||
Part::Body ::init();
|
Part::BodyBase ::init();
|
||||||
Part::FeaturePython ::init();
|
Part::FeaturePython ::init();
|
||||||
Part::FeatureGeometrySet ::init();
|
Part::FeatureGeometrySet ::init();
|
||||||
Part::CustomFeature ::init();
|
Part::CustomFeature ::init();
|
||||||
|
|
|
@ -27,23 +27,21 @@
|
||||||
|
|
||||||
#include <Base/Placement.h>
|
#include <Base/Placement.h>
|
||||||
|
|
||||||
#include "Body.h"
|
#include "BodyBase.h"
|
||||||
|
|
||||||
|
|
||||||
using namespace Part;
|
|
||||||
|
|
||||||
namespace Part {
|
namespace Part {
|
||||||
|
|
||||||
|
|
||||||
PROPERTY_SOURCE(Part::Body, Part::Feature)
|
PROPERTY_SOURCE(Part::BodyBase, Part::Feature)
|
||||||
|
|
||||||
Body::Body()
|
BodyBase::BodyBase()
|
||||||
{
|
{
|
||||||
ADD_PROPERTY(Model,(0));
|
ADD_PROPERTY(Model,(0));
|
||||||
ADD_PROPERTY(Tip ,(0));
|
ADD_PROPERTY(Tip ,(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
short Body::mustExecute() const
|
short BodyBase::mustExecute() const
|
||||||
{
|
{
|
||||||
//if (Sketch.isTouched() ||
|
//if (Sketch.isTouched() ||
|
||||||
// Length.isTouched())
|
// Length.isTouched())
|
||||||
|
@ -51,7 +49,7 @@ short Body::mustExecute() const
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
App::DocumentObjectExecReturn *Body::execute(void)
|
App::DocumentObjectExecReturn *BodyBase::execute(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
return App::DocumentObject::StdReturn;
|
return App::DocumentObject::StdReturn;
|
|
@ -21,8 +21,8 @@
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifndef PART_Body_H
|
#ifndef PART_BodyBase_H
|
||||||
#define PART_Body_H
|
#define PART_BodyBase_H
|
||||||
|
|
||||||
#include <App/PropertyStandard.h>
|
#include <App/PropertyStandard.h>
|
||||||
#include <Mod/Part/App/PartFeature.h>
|
#include <Mod/Part/App/PartFeature.h>
|
||||||
|
@ -36,12 +36,12 @@ namespace Part
|
||||||
* in edit or active on a workbench, the body shows only the
|
* in edit or active on a workbench, the body shows only the
|
||||||
* resulting shape to the outside (Tip link).
|
* resulting shape to the outside (Tip link).
|
||||||
*/
|
*/
|
||||||
class PartExport Body : public Part::Feature
|
class PartExport BodyBase : public Part::Feature
|
||||||
{
|
{
|
||||||
PROPERTY_HEADER(PartDesign::Body);
|
PROPERTY_HEADER(PartDesign::BodyBase);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Body();
|
BodyBase();
|
||||||
|
|
||||||
App::PropertyLinkList Model;
|
App::PropertyLinkList Model;
|
||||||
App::PropertyLink Tip;
|
App::PropertyLink Tip;
|
||||||
|
@ -53,7 +53,7 @@ public:
|
||||||
short mustExecute() const;
|
short mustExecute() const;
|
||||||
/// returns the type name of the view provider
|
/// returns the type name of the view provider
|
||||||
//const char* getViewProviderName(void) const {
|
//const char* getViewProviderName(void) const {
|
||||||
// return "PartDesignGui::ViewProviderBody";
|
// return "PartDesignGui::ViewProviderBodyBase";
|
||||||
//}
|
//}
|
||||||
//@}
|
//@}
|
||||||
};
|
};
|
||||||
|
@ -61,4 +61,4 @@ public:
|
||||||
} //namespace Part
|
} //namespace Part
|
||||||
|
|
||||||
|
|
||||||
#endif // PART_Body_H
|
#endif // PART_BodyBase_H
|
17
src/Mod/Part/App/BodyBasePy.xml
Normal file
17
src/Mod/Part/App/BodyBasePy.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
||||||
|
<PythonExport
|
||||||
|
Father="PartFeaturePy"
|
||||||
|
Name="BodyBasePy"
|
||||||
|
Twin="BodyBase"
|
||||||
|
TwinPointer="BodyBase"
|
||||||
|
Include="Mod/Part/App/BodyBase.h"
|
||||||
|
Namespace="Part"
|
||||||
|
FatherInclude="Mod/Part/App/PartFeaturePy.h"
|
||||||
|
FatherNamespace="Part">
|
||||||
|
<Documentation>
|
||||||
|
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
|
||||||
|
<UserDocu>Base class of all Body objects</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</PythonExport>
|
||||||
|
</GenerateModel>
|
29
src/Mod/Part/App/BodyBasePyImp.cpp
Normal file
29
src/Mod/Part/App/BodyBasePyImp.cpp
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
#include "PreCompiled.h"
|
||||||
|
|
||||||
|
#include "Mod/Part/App/BodyBase.h"
|
||||||
|
|
||||||
|
// inclusion of the generated files (generated out of ItemPy.xml)
|
||||||
|
#include "BodyBasePy.h"
|
||||||
|
#include "BodyBasePy.cpp"
|
||||||
|
|
||||||
|
using namespace Part;
|
||||||
|
|
||||||
|
// returns a string which represents the object e.g. when printed in python
|
||||||
|
std::string BodyBasePy::representation(void) const
|
||||||
|
{
|
||||||
|
return std::string("<body object>");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PyObject *BodyBasePy::getCustomAttributes(const char* /*attr*/) const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BodyBasePy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ endif(FREETYPE_FOUND)
|
||||||
generate_from_xml(ArcPy)
|
generate_from_xml(ArcPy)
|
||||||
generate_from_xml(ArcOfCirclePy)
|
generate_from_xml(ArcOfCirclePy)
|
||||||
generate_from_xml(ArcOfParabolaPy)
|
generate_from_xml(ArcOfParabolaPy)
|
||||||
|
generate_from_xml(BodyBasePy)
|
||||||
generate_from_xml(CirclePy)
|
generate_from_xml(CirclePy)
|
||||||
generate_from_xml(ArcOfEllipsePy)
|
generate_from_xml(ArcOfEllipsePy)
|
||||||
generate_from_xml(EllipsePy)
|
generate_from_xml(EllipsePy)
|
||||||
|
@ -134,8 +135,8 @@ SET(Features_SRCS
|
||||||
FeatureGeometrySet.cpp
|
FeatureGeometrySet.cpp
|
||||||
CustomFeature.cpp
|
CustomFeature.cpp
|
||||||
CustomFeature.h
|
CustomFeature.h
|
||||||
Body.h
|
BodyBase.h
|
||||||
Body.cpp
|
BodyBase.cpp
|
||||||
)
|
)
|
||||||
SOURCE_GROUP("Features" FILES ${Features_SRCS})
|
SOURCE_GROUP("Features" FILES ${Features_SRCS})
|
||||||
|
|
||||||
|
@ -154,6 +155,8 @@ SET(Python_SRCS
|
||||||
ArcOfCirclePyImp.cpp
|
ArcOfCirclePyImp.cpp
|
||||||
ArcOfParabolaPy.xml
|
ArcOfParabolaPy.xml
|
||||||
ArcOfParabolaPyImp.cpp
|
ArcOfParabolaPyImp.cpp
|
||||||
|
BodyBasePy.xml
|
||||||
|
BodyBasePyImp.cpp
|
||||||
CirclePy.xml
|
CirclePy.xml
|
||||||
CirclePyImp.cpp
|
CirclePyImp.cpp
|
||||||
ArcOfEllipsePy.xml
|
ArcOfEllipsePy.xml
|
||||||
|
|
|
@ -35,7 +35,7 @@ using namespace PartDesign;
|
||||||
namespace PartDesign {
|
namespace PartDesign {
|
||||||
|
|
||||||
|
|
||||||
PROPERTY_SOURCE(PartDesign::Body, Part::Body)
|
PROPERTY_SOURCE(PartDesign::Body, Part::BodyBase)
|
||||||
|
|
||||||
Body::Body()
|
Body::Body()
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,13 +25,13 @@
|
||||||
#define PARTDESIGN_Body_H
|
#define PARTDESIGN_Body_H
|
||||||
|
|
||||||
#include <App/PropertyStandard.h>
|
#include <App/PropertyStandard.h>
|
||||||
#include <Mod/Part/App/Body.h>
|
#include <Mod/Part/App/BodyBase.h>
|
||||||
|
|
||||||
|
|
||||||
namespace PartDesign
|
namespace PartDesign
|
||||||
{
|
{
|
||||||
|
|
||||||
class Body : public Part::Body
|
class Body : public Part::BodyBase
|
||||||
{
|
{
|
||||||
PROPERTY_HEADER(PartDesign::Body);
|
PROPERTY_HEADER(PartDesign::Body);
|
||||||
|
|
||||||
|
|
17
src/Mod/PartDesign/App/BodyPy.xml
Normal file
17
src/Mod/PartDesign/App/BodyPy.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
||||||
|
<PythonExport
|
||||||
|
Father="BodyBasePy"
|
||||||
|
Name="BodyPy"
|
||||||
|
Twin="Body"
|
||||||
|
TwinPointer="Body"
|
||||||
|
Include="Mod/PartDesign/App/Body.h"
|
||||||
|
Namespace="PartDesign"
|
||||||
|
FatherInclude="Mod/Part/App/BodyBasePy.h"
|
||||||
|
FatherNamespace="Part">
|
||||||
|
<Documentation>
|
||||||
|
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
|
||||||
|
<UserDocu>PartDesign body class</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</PythonExport>
|
||||||
|
</GenerateModel>
|
30
src/Mod/PartDesign/App/BodyPyImp.cpp
Normal file
30
src/Mod/PartDesign/App/BodyPyImp.cpp
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
#include "PreCompiled.h"
|
||||||
|
|
||||||
|
#include "Mod/PartDesign/App/Body.h"
|
||||||
|
|
||||||
|
// inclusion of the generated files (generated out of ItemPy.xml)
|
||||||
|
#include "BodyPy.h"
|
||||||
|
#include "BodyPy.cpp"
|
||||||
|
|
||||||
|
using namespace PartDesign;
|
||||||
|
|
||||||
|
// returns a string which represents the object e.g. when printed in python
|
||||||
|
std::string BodyPy::representation(void) const
|
||||||
|
{
|
||||||
|
return std::string("<body object>");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PyObject *BodyPy::getCustomAttributes(const char* /*attr*/) const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BodyPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ endif(MSVC)
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_BINARY_DIR}
|
${CMAKE_BINARY_DIR}
|
||||||
${CMAKE_SOURCE_DIR}/src
|
${CMAKE_SOURCE_DIR}/src
|
||||||
|
${CMAKE_BINARY_DIR}/src
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
${OCC_INCLUDE_DIR}
|
${OCC_INCLUDE_DIR}
|
||||||
${ZLIB_INCLUDE_DIR}
|
${ZLIB_INCLUDE_DIR}
|
||||||
|
@ -16,6 +18,9 @@ include_directories(
|
||||||
)
|
)
|
||||||
link_directories(${OCC_LIBRARY_DIR})
|
link_directories(${OCC_LIBRARY_DIR})
|
||||||
|
|
||||||
|
generate_from_xml(BodyPy)
|
||||||
|
|
||||||
|
|
||||||
set(PartDesign_LIBS
|
set(PartDesign_LIBS
|
||||||
${OCC_LIBRARIES}
|
${OCC_LIBRARIES}
|
||||||
${OCC_DEBUG_LIBRARIES}
|
${OCC_DEBUG_LIBRARIES}
|
||||||
|
@ -88,12 +93,21 @@ SET(Module_SRCS
|
||||||
)
|
)
|
||||||
SOURCE_GROUP("Module" FILES ${Module_SRCS})
|
SOURCE_GROUP("Module" FILES ${Module_SRCS})
|
||||||
|
|
||||||
|
|
||||||
|
SET(Python_SRCS
|
||||||
|
BodyPy.xml
|
||||||
|
BodyPyImp.cpp
|
||||||
|
|
||||||
|
)
|
||||||
|
SOURCE_GROUP("Python" FILES ${Python_SRCS})
|
||||||
|
|
||||||
SET(PartDesign_SRCS
|
SET(PartDesign_SRCS
|
||||||
${Features_SRCS}
|
${Features_SRCS}
|
||||||
${FeaturesTransformed_SRCS}
|
${FeaturesTransformed_SRCS}
|
||||||
${FeaturesSketchBased_SRCS}
|
${FeaturesSketchBased_SRCS}
|
||||||
${FeaturesDressUp_SRCS}
|
${FeaturesDressUp_SRCS}
|
||||||
${Module_SRCS}
|
${Module_SRCS}
|
||||||
|
${Python_SRCS}
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(PartDesign_Scripts
|
SET(PartDesign_Scripts
|
||||||
|
|
Loading…
Reference in New Issue
Block a user