Reimplementing constraint solver
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Reimplementing constraint solver
Sorry, I've been seriously distracted from programming, hope to return in a few days.
Re: Reimplementing constraint solver
No problem, I am still slower than you, you can take your time
About:
Code: Select all
std::vector<ParameterRef> ParaObject::makeParameters(HParameterStore into)
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...
Re: Reimplementing constraint solver
How about changing:
to
Because fix() means a fixed parameter, like GCS, right?
BTW, I came up with something like this:
Code: Select all
virtual std::vector<ParameterRef> makeParameters(HParameterStore into);
Code: Select all
virtual std::vector<ParameterRef> makeParameters(HParameterStore into. bool fixed=false);
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;
}
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Reimplementing constraint solver
I have no objections!abdullah wrote: ↑Wed Apr 08, 2020 2:21 pm How about changing:
toCode: Select all
virtual std::vector<ParameterRef> makeParameters(HParameterStore into);
Code: Select all
virtual std::vector<ParameterRef> makeParameters(HParameterStore into. bool fixed=false);
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).
Re: Reimplementing constraint solver
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?
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?
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Reimplementing constraint solver
I get a rather cryptic compile error:
Can you please take a look, I don't understand...
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.
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Reimplementing constraint solver
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'
Re: Reimplementing constraint solver
I pushed a second fix.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 am surprised I was not getting even a warning...