1
// SPDX-License-Identifier: LGPL-2.1-or-later
2
/****************************************************************************
4
* Copyright (c) 2023 Ondsel <development@ondsel.com> *
6
* This file is part of FreeCAD. *
8
* FreeCAD is free software: you can redistribute it and/or modify it *
9
* under the terms of the GNU Lesser General Public License as *
10
* published by the Free Software Foundation, either version 2.1 of the *
11
* License, or (at your option) any later version. *
13
* FreeCAD is distributed in the hope that it will be useful, but *
14
* WITHOUT ANY WARRANTY; without even the implied warranty of *
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16
* Lesser General Public License for more details. *
18
* You should have received a copy of the GNU Lesser General Public *
19
* License along with FreeCAD. If not, see *
20
* <https://www.gnu.org/licenses/>. *
22
***************************************************************************/
24
#include "PreCompiled.h"
28
#include <App/Application.h>
29
#include <App/Document.h>
30
#include <App/FeaturePythonPyImp.h>
31
#include <App/PropertyPythonObject.h>
32
#include <Base/Console.h>
33
#include <Base/Tools.h>
35
#include "JointGroup.h"
36
#include "JointGroupPy.h"
38
using namespace Assembly;
41
PROPERTY_SOURCE(Assembly::JointGroup, App::DocumentObjectGroup)
43
JointGroup::JointGroup()
46
JointGroup::~JointGroup() = default;
48
PyObject* JointGroup::getPyObject()
50
if (PythonObject.is(Py::_None())) {
51
// ref counter is set to 1
52
PythonObject = Py::Object(new JointGroupPy(this), true);
54
return Py::new_reference_to(PythonObject);