Reimplementing constraint solver

Discussion about the development of the Assembly workbench.
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Reimplementing constraint solver

Postby DeepSOIC » Tue Apr 07, 2020 6:26 pm

Sorry, I've been seriously distracted from programming, hope to return in a few days.
abdullah
Posts: 3534
Joined: Sun May 04, 2014 3:16 pm

Re: Reimplementing constraint solver

Postby abdullah » Wed Apr 08, 2020 1:29 pm

DeepSOIC wrote:
Tue Apr 07, 2020 6:26 pm
Sorry, I've been seriously distracted from programming, hope to return in a few days.
No problem, I am still slower than you, you can take your time ;)

About:

Code: Select all

std::vector<ParameterRef> ParaObject::makeParameters(HParameterStore into)
Did you intend to pass HParameterStore by value?

This involves calling the copy constructor for UnsafePyHandle, which calls the copy constructor of Py::Object, and you get away with having a new reference for the same object because of its implementation... However, wouldn't we prefer to past it as a reference to const and avoid all that process? Maybe I am missing something...
abdullah
Posts: 3534
Joined: Sun May 04, 2014 3:16 pm

Re: Reimplementing constraint solver

Postby abdullah » Wed Apr 08, 2020 2:21 pm

How about changing:

Code: Select all

virtual std::vector<ParameterRef> makeParameters(HParameterStore into);
to

Code: Select all

virtual std::vector<ParameterRef> makeParameters(HParameterStore into. bool fixed=false);
Because fix() means a fixed parameter, like GCS, right?

BTW, I came up with something like this:

Code: Select all

int FCSSketch::addPoint(const Part::GeomPoint &point, bool fixed)
{
    // create our own copy
    GeomPoint *p = static_cast<GeomPoint*>(point.clone());
    // create the definition struct for that geom
    GeoDef def;
    def.geo  = std::make_unique<GeomPoint>(p);
    def.type = GeoType::Point;

    FCS::G2D::HParaPoint hp = new FCS::G2D::ParaPoint();
    
    hp->makeParameters(parameterStore);
    
    hp->x.savedValue() = p->getPoint().x;
    hp->y.savedValue() = p->getPoint().y;
    
    if(fixed) {
        hp->x.fix();
        hp->y.fix();
    }
    
    def.startPointId = Points.size();
    def.endPointId = Points.size();
    def.midPointId = Points.size();
    
    Points.push_back(hp);

    // store complete set
    Geoms.push_back(def);

    // return the position of the newly added geometry
    return Geoms.size()-1;

}
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Reimplementing constraint solver

Postby DeepSOIC » Wed Apr 08, 2020 5:35 pm

abdullah wrote:
Wed Apr 08, 2020 2:21 pm
How about changing:

Code: Select all

virtual std::vector<ParameterRef> makeParameters(HParameterStore into);
to

Code: Select all

virtual std::vector<ParameterRef> makeParameters(HParameterStore into. bool fixed=false);
I have no objections!

As for copying... yes it does make a copy, but I see no reason to avoid it (after all, it will be copied numerous times later anyway, as ParameterRef objects are made).
abdullah
Posts: 3534
Joined: Sun May 04, 2014 3:16 pm

Re: Reimplementing constraint solver

Postby abdullah » Thu Apr 09, 2020 1:19 pm

I have pushed some rudimentary sketcher interface. The reason is that using makeparams() crashes FreeCAD in this line:
https://github.com/DeepSOIC/FreeCAD-ell ... t.cpp#L142

I have no clue why, but I am guessing that makeParams is to be used differently.

Basically the only thing to be checked at this time is creating of solver geometry from sketcher geometry and back. Only points and lines. Both segfault.

Could you take a look?
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Reimplementing constraint solver

Postby DeepSOIC » Thu Apr 09, 2020 1:30 pm

abdullah wrote:
Thu Apr 09, 2020 1:19 pm
Could you take a look?
Can you give a step-by-step of what to do?Open sketcher, draw a line -> segfault?
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Reimplementing constraint solver

Postby DeepSOIC » Thu Apr 09, 2020 1:38 pm

I get a rather cryptic compile error:

Code: Select all

...
[59/113 0.9/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\Sketch.cpp.obj
[60/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchGeometryExtensionPyImp.cpp.obj
[61/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\AppSketcher.cpp.obj
FAILED: src/Mod/Sketcher/App/CMakeFiles/Sketcher.dir/AppSketcher.cpp.obj 
C:\PROGRA~2\MICROS~2\2019\BUILDT~1\VC\Tools\MSVC\1420~1.275\bin\HostX64\x64\cl.exe  /nologo /TP -DFCAppSketcher -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH -DHAVE_SNPRINTF -DQT_CORE_LIB -DQT_XML_LIB -DSketcher_EXPORTS -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_OCC64 -D_UNICODE -Isrc -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src -I. -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App -Isrc\Mod\Sketcher\App -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\.. -Isrc\Mod\Sketcher\App\.. -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\inc -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\bin\Include -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\eigen3 -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\QtCore -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\.\mkspecs\win32-msvc -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\QtXml /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -DFC_DEBUG /Zm150 /bigobj /showIncludes /Fosrc\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\AppSketcher.cpp.obj /Fdsrc\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\ /FS -c S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\AppSketcher.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\xutility(1784): error C2280: 'Sketcher::FCSSketch::GeoDef &Sketcher::FCSSketch::GeoDef::operator =(const Sketcher::FCSSketch::GeoDef &)': attempting to reference a deleted function
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(135): note: compiler has generated 'Sketcher::FCSSketch::GeoDef::operator =' here
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(135): note: 'Sketcher::FCSSketch::GeoDef &Sketcher::FCSSketch::GeoDef::operator =(const Sketcher::FCSSketch::GeoDef &)': function was implicitly deleted because a data member invokes a deleted or inaccessible function 'std::unique_ptr<Part::Geometry,std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)'
        with
        [
            _Ty=Part::Geometry
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\memory(1969): note: 'std::unique_ptr<Part::Geometry,std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)': function was explicitly deleted
        with
        [
            _Ty=Part::Geometry
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1021): note: see reference to function template instantiation '_OutIt *std::_Copy_unchecked<_Iter,Sketcher::FCSSketch::GeoDef*>(_InIt,_InIt,_OutIt)' being compiled
        with
        [
            _OutIt=Sketcher::FCSSketch::GeoDef *,
            _Iter=Sketcher::FCSSketch::GeoDef *,
            _InIt=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1036): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Assign_range<_Ty*>(_Iter,_Iter,std::forward_iterator_tag)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1036): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Assign_range<_Ty*>(_Iter,_Iter,std::forward_iterator_tag)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1046): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::assign<Sketcher::FCSSketch::GeoDef*,void>(_Iter,_Iter)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1046): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::assign<Sketcher::FCSSketch::GeoDef*,void>(_Iter,_Iter)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1044): note: while compiling class template member function 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Copy_assign(const std::vector<_Ty,std::allocator<_Ty>> &,std::false_type)'
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1062): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Copy_assign(const std::vector<_Ty,std::allocator<_Ty>> &,std::false_type)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(160): note: see reference to class template instantiation 'std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
[62/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchAnalysis.cpp.obj
[63/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchObjectPyImp.cpp.obj
[64/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchObject.cpp.obj
FAILED: src/Mod/Sketcher/App/CMakeFiles/Sketcher.dir/SketchObject.cpp.obj 
C:\PROGRA~2\MICROS~2\2019\BUILDT~1\VC\Tools\MSVC\1420~1.275\bin\HostX64\x64\cl.exe  /nologo /TP -DFCAppSketcher -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH -DHAVE_SNPRINTF -DQT_CORE_LIB -DQT_XML_LIB -DSketcher_EXPORTS -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_OCC64 -D_UNICODE -Isrc -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src -I. -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App -Isrc\Mod\Sketcher\App -IS:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\.. -Isrc\Mod\Sketcher\App\.. -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\inc -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\bin\Include -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\eigen3 -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\QtCore -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\.\mkspecs\win32-msvc -IS:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\QtXml /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -DFC_DEBUG /Zm150 /bigobj /showIncludes /Fosrc\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchObject.cpp.obj /Fdsrc\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\ /FS -c S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\SketchObject.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\xutility(1784): error C2280: 'Sketcher::FCSSketch::GeoDef &Sketcher::FCSSketch::GeoDef::operator =(const Sketcher::FCSSketch::GeoDef &)': attempting to reference a deleted function
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(135): note: compiler has generated 'Sketcher::FCSSketch::GeoDef::operator =' here
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(135): note: 'Sketcher::FCSSketch::GeoDef &Sketcher::FCSSketch::GeoDef::operator =(const Sketcher::FCSSketch::GeoDef &)': function was implicitly deleted because a data member invokes a deleted or inaccessible function 'std::unique_ptr<Part::Geometry,std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)'
        with
        [
            _Ty=Part::Geometry
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\memory(1969): note: 'std::unique_ptr<Part::Geometry,std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)': function was explicitly deleted
        with
        [
            _Ty=Part::Geometry
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1021): note: see reference to function template instantiation '_OutIt *std::_Copy_unchecked<_Iter,Sketcher::FCSSketch::GeoDef*>(_InIt,_InIt,_OutIt)' being compiled
        with
        [
            _OutIt=Sketcher::FCSSketch::GeoDef *,
            _Iter=Sketcher::FCSSketch::GeoDef *,
            _InIt=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1036): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Assign_range<_Ty*>(_Iter,_Iter,std::forward_iterator_tag)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1036): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Assign_range<_Ty*>(_Iter,_Iter,std::forward_iterator_tag)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1046): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::assign<Sketcher::FCSSketch::GeoDef*,void>(_Iter,_Iter)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1046): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::assign<Sketcher::FCSSketch::GeoDef*,void>(_Iter,_Iter)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef,
            _Iter=Sketcher::FCSSketch::GeoDef *
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1044): note: while compiling class template member function 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Copy_assign(const std::vector<_Ty,std::allocator<_Ty>> &,std::false_type)'
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\include\vector(1062): note: see reference to function template instantiation 'void std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>::_Copy_assign(const std::vector<_Ty,std::allocator<_Ty>> &,std::false_type)' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.h(160): note: see reference to class template instantiation 'std::vector<Sketcher::FCSSketch::GeoDef,std::allocator<_Ty>>' being compiled
        with
        [
            _Ty=Sketcher::FCSSketch::GeoDef
        ]
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
S:\_vt\dev\PC\Qt\FreeCAD\libpack\12.1.2\include\boost/bind/placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
[65/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\SketchPyImp.cpp.obj
[66/113 0.8/sec] Building CXX object src\Mod\Sketcher\App\CMakeFiles\Sketcher.dir\ExternalGeometryExtensionPyImp.cpp.obj
ninja: build stopped: subcommand failed.
16:34:51: The process "S:\Qt\cmake3110\bin\cmake.exe" exited with code 1.
Error while building/deploying project FreeCAD (kit: FC64)
When executing step "CMake Build"
16:34:51: Elapsed time: 01:30.
Can you please take a look, I don't understand...
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Reimplementing constraint solver

Postby DeepSOIC » Thu Apr 09, 2020 2:00 pm

Also.

Code: Select all

S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.cpp:77: error: C2872: 'Constraint': ambiguous symbol
 could be 'FCS::Constraint'
 or       'Sketcher::Constraint'
abdullah
Posts: 3534
Joined: Sun May 04, 2014 3:16 pm

Re: Reimplementing constraint solver

Postby abdullah » Thu Apr 09, 2020 2:08 pm

DeepSOIC wrote:
Thu Apr 09, 2020 1:38 pm
I get a rather cryptic compile error:

Can you please take a look, I don't understand...
I pushed a fix. Please check again ;)
abdullah
Posts: 3534
Joined: Sun May 04, 2014 3:16 pm

Re: Reimplementing constraint solver

Postby abdullah » Thu Apr 09, 2020 2:11 pm

DeepSOIC wrote:
Thu Apr 09, 2020 2:00 pm
Also.

Code: Select all

S:\_vt\dev\PC\Qt\FreeCAD\FreeCAD-ellipse\src\Mod\Sketcher\App\FCSSketch.cpp:77: error: C2872: 'Constraint': ambiguous symbol
 could be 'FCS::Constraint'
 or       'Sketcher::Constraint'
I pushed a second fix.

I am surprised I was not getting even a warning...