+ add Axis class to Base
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5252 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
parent
6e138c79d7
commit
f8866986b6
|
@ -66,6 +66,7 @@
|
||||||
#include <Base/Reader.h>
|
#include <Base/Reader.h>
|
||||||
#include <Base/MatrixPy.h>
|
#include <Base/MatrixPy.h>
|
||||||
#include <Base/VectorPy.h>
|
#include <Base/VectorPy.h>
|
||||||
|
#include <Base/AxisPy.h>
|
||||||
#include <Base/BoundBoxPy.h>
|
#include <Base/BoundBoxPy.h>
|
||||||
#include <Base/PlacementPy.h>
|
#include <Base/PlacementPy.h>
|
||||||
#include <Base/RotationPy.h>
|
#include <Base/RotationPy.h>
|
||||||
|
@ -157,7 +158,7 @@ PyDoc_STRVAR(Console_doc,
|
||||||
"FreeCAD Console\n"
|
"FreeCAD Console\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
Application::Application(ParameterManager * /*pcSysParamMngr*/,
|
Application::Application(ParameterManager * /*pcSysParamMngr*/,
|
||||||
ParameterManager * /*pcUserParamMngr*/,
|
ParameterManager * /*pcUserParamMngr*/,
|
||||||
std::map<std::string,std::string> &mConfig)
|
std::map<std::string,std::string> &mConfig)
|
||||||
://_pcSysParamMngr(pcSysParamMngr),
|
://_pcSysParamMngr(pcSysParamMngr),
|
||||||
|
@ -202,17 +203,22 @@ Application::Application(ParameterManager * /*pcSysParamMngr*/,
|
||||||
union PyType_Object pyRotationPyType = {&Base::RotationPy::Type};
|
union PyType_Object pyRotationPyType = {&Base::RotationPy::Type};
|
||||||
PyModule_AddObject(pAppModule, "Rotation", pyRotationPyType.o);
|
PyModule_AddObject(pAppModule, "Rotation", pyRotationPyType.o);
|
||||||
|
|
||||||
|
if (PyType_Ready(&Base::AxisPy::Type) < 0) return;
|
||||||
|
union PyType_Object pyAxisPyType = {&Base::AxisPy::Type};
|
||||||
|
PyModule_AddObject(pAppModule, "Axis", pyAxisPyType.o);
|
||||||
|
|
||||||
// Note: Create an own module 'Base' which should provide the python
|
// Note: Create an own module 'Base' which should provide the python
|
||||||
// binding classes from the base module. At a later stage we should
|
// binding classes from the base module. At a later stage we should
|
||||||
// remove these types from the FreeCAD module.
|
// remove these types from the FreeCAD module.
|
||||||
PyObject* pBaseModule = Py_InitModule3("__FreeCADBase__", NULL,
|
PyObject* pBaseModule = Py_InitModule3("__FreeCADBase__", NULL,
|
||||||
"The Base module contains the classes for the geometric basics\n"
|
"The Base module contains the classes for the geometric basics\n"
|
||||||
"like vector, matrix, bounding box, placement, rotation, ...");
|
"like vector, matrix, bounding box, placement, rotation, axis, ...");
|
||||||
Base::Interpreter().addType(&Base::VectorPy ::Type,pBaseModule,"Vector");
|
Base::Interpreter().addType(&Base::VectorPy ::Type,pBaseModule,"Vector");
|
||||||
Base::Interpreter().addType(&Base::MatrixPy ::Type,pBaseModule,"Matrix");
|
Base::Interpreter().addType(&Base::MatrixPy ::Type,pBaseModule,"Matrix");
|
||||||
Base::Interpreter().addType(&Base::BoundBoxPy ::Type,pBaseModule,"BoundBox");
|
Base::Interpreter().addType(&Base::BoundBoxPy ::Type,pBaseModule,"BoundBox");
|
||||||
Base::Interpreter().addType(&Base::PlacementPy ::Type,pBaseModule,"Placement");
|
Base::Interpreter().addType(&Base::PlacementPy ::Type,pBaseModule,"Placement");
|
||||||
Base::Interpreter().addType(&Base::RotationPy ::Type,pBaseModule,"Rotation");
|
Base::Interpreter().addType(&Base::RotationPy ::Type,pBaseModule,"Rotation");
|
||||||
|
Base::Interpreter().addType(&Base::AxisPy ::Type,pBaseModule,"Axis");
|
||||||
|
|
||||||
//insert Base and Console
|
//insert Base and Console
|
||||||
Py_INCREF(pBaseModule);
|
Py_INCREF(pBaseModule);
|
||||||
|
@ -1285,7 +1291,7 @@ void Application::LoadParameters(void)
|
||||||
// fix weird error while linking boost (all versions of VC)
|
// fix weird error while linking boost (all versions of VC)
|
||||||
namespace boost { namespace program_options { std::string arg="arg"; } }
|
namespace boost { namespace program_options { std::string arg="arg"; } }
|
||||||
#if (defined (BOOST_VERSION) && (BOOST_VERSION == 104100))
|
#if (defined (BOOST_VERSION) && (BOOST_VERSION == 104100))
|
||||||
namespace boost { namespace program_options {
|
namespace boost { namespace program_options {
|
||||||
const unsigned options_description::m_default_line_length = 80;
|
const unsigned options_description::m_default_line_length = 80;
|
||||||
} }
|
} }
|
||||||
#endif
|
#endif
|
||||||
|
@ -1295,7 +1301,7 @@ namespace boost { namespace program_options {
|
||||||
// reported for SUSE in issue #0000208
|
// reported for SUSE in issue #0000208
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
#if BOOST_VERSION == 104400
|
#if BOOST_VERSION == 104400
|
||||||
namespace boost { namespace filesystem {
|
namespace boost { namespace filesystem {
|
||||||
bool no_check( const std::string & ) { return true; }
|
bool no_check( const std::string & ) { return true; }
|
||||||
} }
|
} }
|
||||||
#endif
|
#endif
|
||||||
|
@ -1597,7 +1603,7 @@ void Application::ExtractUserPath()
|
||||||
}
|
}
|
||||||
appData += PATHSEP;
|
appData += PATHSEP;
|
||||||
}
|
}
|
||||||
|
|
||||||
appData += mConfig["ExeName"];
|
appData += mConfig["ExeName"];
|
||||||
fi.setFile(appData.c_str());
|
fi.setFile(appData.c_str());
|
||||||
if (!fi.exists() && !Py_IsInitialized()) {
|
if (!fi.exists() && !Py_IsInitialized()) {
|
||||||
|
@ -1652,7 +1658,7 @@ void Application::ExtractUserPath()
|
||||||
}
|
}
|
||||||
appData += PATHSEP;
|
appData += PATHSEP;
|
||||||
}
|
}
|
||||||
|
|
||||||
appData += mConfig["ExeName"];
|
appData += mConfig["ExeName"];
|
||||||
fi.setFile(appData.c_str());
|
fi.setFile(appData.c_str());
|
||||||
if (!fi.exists() && !Py_IsInitialized()) {
|
if (!fi.exists() && !Py_IsInitialized()) {
|
||||||
|
|
94
src/Base/Axis.cpp
Normal file
94
src/Base/Axis.cpp
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (c) 2011 Juergen Riegel *
|
||||||
|
* *
|
||||||
|
* 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 "Axis.h"
|
||||||
|
|
||||||
|
using namespace Base;
|
||||||
|
|
||||||
|
Axis::Axis()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis::Axis(const Axis& that)
|
||||||
|
{
|
||||||
|
this->_base = that._base;
|
||||||
|
this->_dir = that._dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis::Axis(const Vector3d& Orig, const Vector3d& Dir)
|
||||||
|
{
|
||||||
|
this->_base = Orig;
|
||||||
|
this->_dir = Dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Axis::reverse()
|
||||||
|
{
|
||||||
|
this->_dir = -this->_dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis Axis::reversed() const
|
||||||
|
{
|
||||||
|
Axis a(*this);
|
||||||
|
a.reverse();
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Axis::move(const Vector3d& MovVec)
|
||||||
|
{
|
||||||
|
_base += MovVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Axis::operator ==(const Axis& that) const
|
||||||
|
{
|
||||||
|
return (this->_base == that._base) && (this->_dir == that._dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Axis::operator !=(const Axis& that) const
|
||||||
|
{
|
||||||
|
return !(*this == that);
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis& Axis::operator *=(const Placement &p)
|
||||||
|
{
|
||||||
|
p.multVec(this->_base, this->_base);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis Axis::operator *(const Placement &p) const
|
||||||
|
{
|
||||||
|
Axis a(*this);
|
||||||
|
a *= p;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
Axis& Axis::operator = (const Axis &New)
|
||||||
|
{
|
||||||
|
this->_base = New._base;
|
||||||
|
this->_dir = New._dir;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
72
src/Base/Axis.h
Normal file
72
src/Base/Axis.h
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (c) 2011 Juergen Riegel *
|
||||||
|
* *
|
||||||
|
* 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 BASE_AXIS_H
|
||||||
|
#define BASE_AXIS_H
|
||||||
|
|
||||||
|
#include "Vector3D.h"
|
||||||
|
#include "Placement.h"
|
||||||
|
|
||||||
|
namespace Base {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Axis class.
|
||||||
|
*/
|
||||||
|
class BaseExport Axis
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/// default constructor
|
||||||
|
Axis(void);
|
||||||
|
Axis(const Axis&);
|
||||||
|
Axis(const Vector3d& Orig, const Vector3d& Dir);
|
||||||
|
/// Destruction
|
||||||
|
~Axis () {};
|
||||||
|
|
||||||
|
const Vector3d& getBase(void) const {return _base;}
|
||||||
|
const Vector3d& getDirection(void) const {return _dir;}
|
||||||
|
void setBase(const Vector3d& Orig) {_base=Orig;}
|
||||||
|
void setDirection(const Vector3d& Dir) {_dir=Dir;}
|
||||||
|
|
||||||
|
void reverse();
|
||||||
|
Axis reversed() const;
|
||||||
|
void move(const Vector3d& MovVec);
|
||||||
|
|
||||||
|
/** Operators. */
|
||||||
|
//@{
|
||||||
|
Axis& operator *=(const Placement &p);
|
||||||
|
Axis operator *(const Placement &p) const;
|
||||||
|
bool operator ==(const Axis&) const;
|
||||||
|
bool operator !=(const Axis&) const;
|
||||||
|
Axis& operator =(const Axis&);
|
||||||
|
//@}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Vector3d _base;
|
||||||
|
Vector3d _dir;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Base
|
||||||
|
|
||||||
|
#endif // BASE_AXIS_H
|
||||||
|
|
||||||
|
|
71
src/Base/AxisPy.xml
Normal file
71
src/Base/AxisPy.xml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
||||||
|
<PythonExport
|
||||||
|
Father="PyObjectBase"
|
||||||
|
Name="AxisPy"
|
||||||
|
Twin="Axis"
|
||||||
|
TwinPointer="Axis"
|
||||||
|
Include="Base/Axis.h"
|
||||||
|
FatherInclude="Base/PyObjectBase.h"
|
||||||
|
Namespace="Base"
|
||||||
|
Constructor="true"
|
||||||
|
Delete="true"
|
||||||
|
FatherNamespace="Base">
|
||||||
|
<Documentation>
|
||||||
|
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
|
||||||
|
<UserDocu>Axis
|
||||||
|
An defines a direction and a position (base) in 3D space.
|
||||||
|
|
||||||
|
The following constructors are supported:
|
||||||
|
Axis() -- empty constructor
|
||||||
|
Axis(Axis) -- copy constructor
|
||||||
|
Axis(Base, Direction) -- define position and direction
|
||||||
|
</UserDocu>
|
||||||
|
<DeveloperDocu>Axis</DeveloperDocu>
|
||||||
|
</Documentation>
|
||||||
|
<Methode Name="copy">>
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>
|
||||||
|
copy()
|
||||||
|
Returns a copy of this Axis
|
||||||
|
</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</Methode>
|
||||||
|
<Methode Name="move">
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>
|
||||||
|
move(Vector)
|
||||||
|
Move the axis base along the vector
|
||||||
|
</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</Methode>
|
||||||
|
<Methode Name="multiply">
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>
|
||||||
|
multiply(Placement)
|
||||||
|
Multiply this axis with a placement
|
||||||
|
</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</Methode>
|
||||||
|
<Methode Name="reversed">
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>
|
||||||
|
reversed() -> Axis
|
||||||
|
compute the reversed axis
|
||||||
|
</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
</Methode>
|
||||||
|
<Attribute Name="Base" ReadOnly="false">
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>Vector to the Base position of the Axis</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
<Parameter Name="Base" Type="Object" />
|
||||||
|
</Attribute>
|
||||||
|
<Attribute Name="Direction" ReadOnly="false">
|
||||||
|
<Documentation>
|
||||||
|
<UserDocu>Direction vector of the Axis</UserDocu>
|
||||||
|
</Documentation>
|
||||||
|
<Parameter Name="Direction" Type="Object" />
|
||||||
|
</Attribute>
|
||||||
|
</PythonExport>
|
||||||
|
</GenerateModel>
|
147
src/Base/AxisPyImp.cpp
Normal file
147
src/Base/AxisPyImp.cpp
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* Copyright (c) 2011 Juergen Riegel *
|
||||||
|
* *
|
||||||
|
* 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"
|
||||||
|
|
||||||
|
#include "Axis.h"
|
||||||
|
#include "GeometryPyCXX.h"
|
||||||
|
|
||||||
|
// inclusion of the generated files (generated out of AxisPy.xml)
|
||||||
|
#include "AxisPy.h"
|
||||||
|
#include "AxisPy.cpp"
|
||||||
|
|
||||||
|
#include "VectorPy.h"
|
||||||
|
#include "PlacementPy.h"
|
||||||
|
|
||||||
|
using namespace Base;
|
||||||
|
|
||||||
|
// returns a string which represents the object e.g. when printed in python
|
||||||
|
std::string AxisPy::representation(void) const
|
||||||
|
{
|
||||||
|
AxisPy::PointerType ptr = reinterpret_cast<AxisPy::PointerType>(_pcTwinPointer);
|
||||||
|
std::stringstream str;
|
||||||
|
str << "Axis [Base=(";
|
||||||
|
str << ptr->getBase().x << ","<< ptr->getBase().y << "," << ptr->getBase().z;
|
||||||
|
str << "), Direction=(";
|
||||||
|
str << ptr->getDirection().x << ","<< ptr->getDirection().y << "," << ptr->getDirection().z << ")]";
|
||||||
|
|
||||||
|
return str.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject *AxisPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper
|
||||||
|
{
|
||||||
|
// create a new instance of AxisPy and the Twin object
|
||||||
|
return new AxisPy(new Axis);
|
||||||
|
}
|
||||||
|
|
||||||
|
// constructor method
|
||||||
|
int AxisPy::PyInit(PyObject* args, PyObject* /*kwd*/)
|
||||||
|
{
|
||||||
|
PyObject* o;
|
||||||
|
if (PyArg_ParseTuple(args, "")) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyErr_Clear();
|
||||||
|
if (PyArg_ParseTuple(args, "O!", &(Base::AxisPy::Type), &o)) {
|
||||||
|
Base::Axis *a = static_cast<Base::AxisPy*>(o)->getAxisPtr();
|
||||||
|
*(getAxisPtr()) = *a;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyErr_Clear();
|
||||||
|
PyObject* d;
|
||||||
|
if (PyArg_ParseTuple(args, "O!O", &(Base::VectorPy::Type), &o,
|
||||||
|
&(Base::VectorPy::Type), &d)) {
|
||||||
|
// NOTE: The first parameter defines the base (origin) and the second the direction.
|
||||||
|
*getAxisPtr() = Base::Axis(static_cast<Base::VectorPy*>(o)->value(),
|
||||||
|
static_cast<Base::VectorPy*>(d)->value());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyErr_SetString(PyExc_Exception, "empty parameter list, axis or base and direction expected");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* AxisPy::move(PyObject * args)
|
||||||
|
{
|
||||||
|
PyObject *vec;
|
||||||
|
if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &vec))
|
||||||
|
return NULL;
|
||||||
|
getAxisPtr()->move(static_cast<VectorPy*>(vec)->value());
|
||||||
|
Py_Return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* AxisPy::multiply(PyObject * args)
|
||||||
|
{
|
||||||
|
PyObject *plm;
|
||||||
|
if (!PyArg_ParseTuple(args, "O!", &(PlacementPy::Type), &plm))
|
||||||
|
return NULL;
|
||||||
|
Axis mult = (*getAxisPtr()) * (*static_cast<PlacementPy*>(plm)->getPlacementPtr());
|
||||||
|
return new AxisPy(new Axis(mult));
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* AxisPy::copy(PyObject * args)
|
||||||
|
{
|
||||||
|
if (!PyArg_ParseTuple(args, ""))
|
||||||
|
return NULL;
|
||||||
|
return new AxisPy(new Axis(*getAxisPtr()));
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* AxisPy::reversed(PyObject * args)
|
||||||
|
{
|
||||||
|
if (!PyArg_ParseTuple(args, ""))
|
||||||
|
return NULL;
|
||||||
|
Base::Axis a = getAxisPtr()->reversed();
|
||||||
|
return new AxisPy(new Axis(a));
|
||||||
|
}
|
||||||
|
|
||||||
|
Py::Object AxisPy::getBase(void) const
|
||||||
|
{
|
||||||
|
return Py::Vector(getAxisPtr()->getBase());
|
||||||
|
}
|
||||||
|
|
||||||
|
void AxisPy::setBase(Py::Object arg)
|
||||||
|
{
|
||||||
|
getAxisPtr()->setBase(Py::Vector(arg).toVector());
|
||||||
|
}
|
||||||
|
|
||||||
|
Py::Object AxisPy::getDirection(void) const
|
||||||
|
{
|
||||||
|
return Py::Vector(getAxisPtr()->getDirection());
|
||||||
|
}
|
||||||
|
|
||||||
|
void AxisPy::setDirection(Py::Object arg)
|
||||||
|
{
|
||||||
|
getAxisPtr()->setDirection(Py::Vector(arg).toVector());
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject *AxisPy::getCustomAttributes(const char* /*attr*/) const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int AxisPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ generate_from_xml(VectorPy)
|
||||||
generate_from_xml(MatrixPy)
|
generate_from_xml(MatrixPy)
|
||||||
generate_from_xml(RotationPy)
|
generate_from_xml(RotationPy)
|
||||||
generate_from_xml(PlacementPy)
|
generate_from_xml(PlacementPy)
|
||||||
|
generate_from_xml(AxisPy)
|
||||||
|
|
||||||
if(SWIG_FOUND)
|
if(SWIG_FOUND)
|
||||||
execute_process(COMMAND ${SWIG_EXECUTABLE} -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h)
|
execute_process(COMMAND ${SWIG_EXECUTABLE} -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/swigpyrun.h)
|
||||||
|
@ -137,6 +138,7 @@ SET(pycxx_SRCS
|
||||||
SOURCE_GROUP("pycxx" FILES ${pycxx_SRCS})
|
SOURCE_GROUP("pycxx" FILES ${pycxx_SRCS})
|
||||||
|
|
||||||
SET(FreeCADBase_XML_SRCS
|
SET(FreeCADBase_XML_SRCS
|
||||||
|
AxisPy.xml
|
||||||
BaseClassPy.xml
|
BaseClassPy.xml
|
||||||
BoundBoxPy.xml
|
BoundBoxPy.xml
|
||||||
MatrixPy.xml
|
MatrixPy.xml
|
||||||
|
@ -170,6 +172,8 @@ SET(FreeCADBase_UNITAPI_SRCS
|
||||||
SOURCE_GROUP("Units" FILES ${FreeCADBase_UNITAPI_SRCS})
|
SOURCE_GROUP("Units" FILES ${FreeCADBase_UNITAPI_SRCS})
|
||||||
|
|
||||||
SET(FreeCADBase_CPP_SRCS
|
SET(FreeCADBase_CPP_SRCS
|
||||||
|
Axis.cpp
|
||||||
|
AxisPyImp.cpp
|
||||||
Base64.cpp
|
Base64.cpp
|
||||||
BaseClass.cpp
|
BaseClass.cpp
|
||||||
BaseClassPyImp.cpp
|
BaseClassPyImp.cpp
|
||||||
|
@ -222,6 +226,7 @@ SET(FreeCADBase_CPP_SRCS
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(FreeCADBase_HPP_SRCS
|
SET(FreeCADBase_HPP_SRCS
|
||||||
|
Axis.h
|
||||||
Base64.h
|
Base64.h
|
||||||
BaseClass.h
|
BaseClass.h
|
||||||
BoundBox.h
|
BoundBox.h
|
||||||
|
|
|
@ -3,6 +3,7 @@ lib_LTLIBRARIES=libFreeCADBase.la
|
||||||
|
|
||||||
BUILT_SOURCES=\
|
BUILT_SOURCES=\
|
||||||
moc_FutureWatcherProgress.cpp \
|
moc_FutureWatcherProgress.cpp \
|
||||||
|
AxisPy.cpp \
|
||||||
BaseClassPy.cpp \
|
BaseClassPy.cpp \
|
||||||
BoundBoxPy.cpp \
|
BoundBoxPy.cpp \
|
||||||
MatrixPy.cpp \
|
MatrixPy.cpp \
|
||||||
|
@ -17,6 +18,7 @@ endif
|
||||||
|
|
||||||
|
|
||||||
libFreeCADBase_la_BUILT=\
|
libFreeCADBase_la_BUILT=\
|
||||||
|
AxisPy.h \
|
||||||
BaseClassPy.h \
|
BaseClassPy.h \
|
||||||
BoundBoxPy.h \
|
BoundBoxPy.h \
|
||||||
MatrixPy.h \
|
MatrixPy.h \
|
||||||
|
@ -26,6 +28,8 @@ libFreeCADBase_la_BUILT=\
|
||||||
VectorPy.h
|
VectorPy.h
|
||||||
|
|
||||||
libFreeCADBase_la_SOURCES=\
|
libFreeCADBase_la_SOURCES=\
|
||||||
|
Axis.cpp \
|
||||||
|
AxisPyImp.cpp \
|
||||||
Base64.cpp \
|
Base64.cpp \
|
||||||
BaseClass.cpp \
|
BaseClass.cpp \
|
||||||
BaseClassPyImp.cpp \
|
BaseClassPyImp.cpp \
|
||||||
|
@ -103,6 +107,7 @@ nodist_include_HEADERS=\
|
||||||
$(libFreeCADBase_la_BUILT)
|
$(libFreeCADBase_la_BUILT)
|
||||||
|
|
||||||
include_HEADERS=\
|
include_HEADERS=\
|
||||||
|
Axis.h \
|
||||||
Base64.h \
|
Base64.h \
|
||||||
BaseClass.h \
|
BaseClass.h \
|
||||||
BoundBox.h \
|
BoundBox.h \
|
||||||
|
@ -177,6 +182,7 @@ libFreeCADBase_la_CPPFLAGS = -DHAVE_SWIG=$(HAVE_SWIG)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
CMakeLists.txt \
|
CMakeLists.txt \
|
||||||
|
AxisPy.xml \
|
||||||
BaseClassPy.xml \
|
BaseClassPy.xml \
|
||||||
BoundBoxPy.xml \
|
BoundBoxPy.xml \
|
||||||
MatrixPy.xml \
|
MatrixPy.xml \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user