Merge branch 'refs/heads/master' into review-CL-Bundler

This commit is contained in:
jriegel
2014-11-29 15:43:19 +01:00
129 changed files with 569 additions and 10618 deletions

View File

@@ -1,108 +0,0 @@
SUBDIRS=freegcs
lib_LTLIBRARIES=libSketcher.la Sketcher.la
BUILT_SOURCES=\
ConstraintPy.cpp \
SketchPy.cpp \
SketchObjectPy.cpp \
SketchObjectSFPy.cpp
libSketcher_la_BUILT=\
ConstraintPy.h \
SketchPy.h \
SketchObjectPy.h \
SketchObjectSFPy.h
libSketcher_la_SOURCES = \
AppSketcherPy.cpp \
Constraint.cpp \
Constraint.h \
ConstraintPyImp.cpp \
PropertyConstraintList.cpp \
PropertyConstraintList.h \
SketchObject.cpp \
SketchObject.h \
SketchObjectPyImp.cpp \
SketchObjectSF.cpp \
SketchObjectSF.h \
SketchObjectSFPyImp.cpp \
Sketch.cpp \
Sketch.h \
SketchPyImp.cpp \
PreCompiled.cpp \
PreCompiled.h
# the library search path.
libSketcher_la_LDFLAGS = -L../../../Base -L../../../App -L../../../Mod/Part/App \
-L$(OCC_LIB) $(all_libraries) \
-version-info @LIB_CURRENT@:@LIB_REVISION@:@LIB_AGE@
libSketcher_la_CPPFLAGS = -DSketcherAppExport=
libSketcher_la_LIBADD = \
freegcs/libfreegcs.la \
@BOOST_REGEX_LIB@ @BOOST_SYSTEM_LIB@ \
-l@PYTHON_LIB@ \
-lxerces-c \
-lFreeCADBase \
-lFreeCADApp \
-lPart \
-lTKernel \
-lTKG2d \
-lTKG3d \
-lTKMath \
-lTKSTEP \
-lTKIGES \
-lTKSTL \
-lTKShHealing \
-lTKXSBase \
-lTKBool \
-lTKBO \
-lTKBRep \
-lTKTopAlgo \
-lTKGeomAlgo \
-lTKGeomBase \
-lTKOffset \
-lTKPrim \
-lTKHLR
%.cpp: %.xml $(top_srcdir)/src/Tools/generateTemplates/templateClassPyExport.py
$(PYTHON) $(top_srcdir)/src/Tools/generate.py --outputPath $(@D) $<
#--------------------------------------------------------------------------------------
# Loader of libSketcher
Sketcher_la_SOURCES=\
AppSketcher.cpp
# the library search path.
Sketcher_la_LDFLAGS = $(libSketcher_la_LDFLAGS) -module -avoid-version
Sketcher_la_CPPFLAGS = $(libSketcher_la_CPPFLAGS)
Sketcher_la_LIBADD = \
$(libSketcher_la_LIBADD) \
-lSketcher
Sketcher_la_DEPENDENCIES = libSketcher.la
#--------------------------------------------------------------------------------------
# set the include path found by configure
AM_CXXFLAGS = -I$(OCC_INC) -I$(top_srcdir)/src -I$(top_builddir)/src $(all_includes) \
-I$(EIGEN3_INC)
libdir = $(prefix)/Mod/Sketcher
datadir = $(prefix)/Mod/Sketcher
CLEANFILES = $(BUILT_SOURCES) $(libSketcher_la_BUILT)
EXTRA_DIST = \
$(data_DATA) \
CMakeLists.txt \
ConstraintPy.xml \
SketchPy.xml \
SketchObjectPy.xml \
SketchObjectSFPy.xml

View File

@@ -1,18 +0,0 @@
noinst_LTLIBRARIES=libfreegcs.la
libfreegcs_la_SOURCES = \
GCS.cpp \
GCS.h \
Util.h \
Geo.h \
Constraints.cpp \
Constraints.h \
SubSystem.cpp \
SubSystem.h \
qp_eq.cpp \
qp_eq.h
# set the include path found by configure
AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/Mod/Sketcher/App \
-I$(top_builddir)/src -I$(top_builddir)/src/Mod/Sketcher/App $(all_includes) \
-I$(EIGEN3_INC)

View File

@@ -48,6 +48,7 @@
#include "SketchOrientationDialog.h"
#include "ViewProviderSketch.h"
#include "TaskSketcherValidation.h"
#include "../App/Constraint.h"
using namespace std;
using namespace SketcherGui;
@@ -496,7 +497,75 @@ bool CmdSketcherValidateSketch::isActive(void)
return (hasActiveDocument() && !Gui::Control().activeDialog());
}
DEF_STD_CMD_A(CmdSketcherMergeSketches);
CmdSketcherMergeSketches::CmdSketcherMergeSketches()
: Command("Sketcher_MergeSketches")
{
sAppModule = "Sketcher";
sGroup = QT_TR_NOOP("Sketcher");
sMenuText = QT_TR_NOOP("Merge sketches");
sToolTipText = QT_TR_NOOP("Merge sketches");
sWhatsThis = "Sketcher_MergeSketches";
sStatusTip = sToolTipText;
eType = 0;
sPixmap = "Sketcher_MergeSketch";
}
void CmdSketcherMergeSketches::activated(int iMsg)
{
std::vector<Gui::SelectionObject> selection = getSelection().getSelectionEx(0, Sketcher::SketchObject::getClassTypeId());
if (selection.size() < 2) {
QMessageBox::warning(Gui::getMainWindow(),
qApp->translate("CmdSketcherMergeSketches", "Wrong selection"),
qApp->translate("CmdSketcherMergeSketches", "Select at least two sketches, please."));
return;
}
Sketcher::SketchObject* Obj1 = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
App::Document* doc = App::GetApplication().getActiveDocument();
// create Sketch
std::string FeatName = getUniqueObjectName("Sketch");
openCommand("Create a merge Sketch");
doCommand(Doc,"App.activeDocument().addObject('Sketcher::SketchObject','%s')",FeatName.c_str());
Sketcher::SketchObject* mergesketch = static_cast<Sketcher::SketchObject*>(doc->getObject(FeatName.c_str()));
int baseGeometry=0;
int baseConstraints=0;
for (std::vector<Gui::SelectionObject>::const_iterator it=selection.begin(); it != selection.end(); ++it) {
const Sketcher::SketchObject* Obj = static_cast<const Sketcher::SketchObject*>((*it).getObject());
int addedGeometries=mergesketch->addGeometry(Obj->getInternalGeometry());
int addedConstraints=mergesketch->addConstraints(Obj->Constraints.getValues());
for(int i=0; i<=(addedConstraints-baseConstraints); i++){
Sketcher::Constraint * constraint= mergesketch->Constraints.getValues()[i+baseConstraints];
if(constraint->First!=Sketcher::Constraint::GeoUndef || constraint->First==-1 || constraint->First==-2) // not x, y axes or origin
constraint->First+=baseGeometry;
if(constraint->Second!=Sketcher::Constraint::GeoUndef || constraint->Second==-1 || constraint->Second==-2) // not x, y axes or origin
constraint->Second+=baseGeometry;
if(constraint->Third!=Sketcher::Constraint::GeoUndef || constraint->Third==-1 || constraint->Third==-2) // not x, y axes or origin
constraint->Third+=baseGeometry;
}
baseGeometry=addedGeometries+1;
baseConstraints=addedConstraints+1;
}
doCommand(Gui,"App.activeDocument().recompute()");
}
bool CmdSketcherMergeSketches::isActive(void)
{
return (hasActiveDocument() && !Gui::Control().activeDialog());
}
@@ -511,4 +580,5 @@ void CreateSketcherCommands(void)
rcCmdMgr.addCommand(new CmdSketcherMapSketch());
rcCmdMgr.addCommand(new CmdSketcherViewSketch());
rcCmdMgr.addCommand(new CmdSketcherValidateSketch());
rcCmdMgr.addCommand(new CmdSketcherMergeSketches());
}

View File

@@ -1,152 +0,0 @@
SUBDIRS=Resources
lib_LTLIBRARIES=libSketcherGui.la SketcherGui.la
BUILT_SOURCES=\
moc_SketchOrientationDialog.cpp \
moc_TaskSketcherConstrains.cpp \
moc_TaskSketcherElements.cpp \
moc_TaskSketcherCreateCommands.cpp \
moc_TaskSketcherGeneral.cpp \
moc_TaskSketcherMessages.cpp \
moc_TaskDlgEditSketch.cpp \
ui_InsertDatum.h \
ui_SketchOrientationDialog.h \
ui_TaskSketcherConstrains.h \
ui_TaskSketcherElements.h \
ui_TaskSketcherGeneral.h \
ui_TaskSketcherMessages.h
libSketcherGui_la_UI=\
InsertDatum.ui \
SketchOrientationDialog.ui \
TaskSketcherConstrains.ui \
TaskSketcherElements.ui \
TaskSketcherGeneral.ui \
TaskSketcherMessages.ui
libSketcherGui_la_SOURCES=\
AppSketcherGuiPy.cpp \
Command.cpp \
CommandCreateGeo.cpp \
CommandConstraints.cpp \
CommandAlterGeometry.cpp \
PreCompiled.cpp \
PreCompiled.h \
SoDatumLabel.cpp \
SoDatumLabel.h \
SoZoomTranslation.cpp \
SoZoomTranslation.h \
TaskSketcherConstrains.cpp \
TaskSketcherConstrains.h \
TaskSketcherElements.cpp \
TaskSketcherElements.h \
TaskSketcherCreateCommands.cpp \
TaskSketcherCreateCommands.h \
TaskSketcherGeneral.cpp \
TaskSketcherGeneral.h \
TaskSketcherMessages.cpp \
TaskSketcherMessages.h \
ViewProviderSketch.cpp \
ViewProviderSketch.h \
DrawSketchHandler.cpp \
DrawSketchHandler.h \
Workbench.cpp \
Workbench.h \
EditDatumDialog.cpp \
EditDatumDialog.h \
SketchOrientationDialog.cpp \
SketchOrientationDialog.h \
TaskDlgEditSketch.cpp \
TaskDlgEditSketch.h \
ViewProviderPython.cpp \
ViewProviderPython.h
# the library search path.
libSketcherGui_la_LDFLAGS = -L../../../Base -L../../../App -L../../../Gui \
-L../../Part/App -L../../Part/Gui -L../App -L$(OCC_LIB) \
$(sim_ac_coin_ldflags) $(sim_ac_coin_libs) \
$(sim_ac_soqt_ldflags) $(sim_ac_soqt_libs) \
$(QT_LIBS) $(GL_LIBS) $(all_libraries) \
-version-info @LIB_CURRENT@:@LIB_REVISION@:@LIB_AGE@
libSketcherGui_la_CPPFLAGS = -DSketcherAppExport= -DSketcherGuiExport=
libSketcherGui_la_LIBADD = \
@BOOST_SYSTEM_LIB@ \
@BOOST_SIGNALS_LIB@ \
-l@PYTHON_LIB@ \
-lxerces-c \
-lTKernel \
-lTKG2d \
-lTKG3d \
-lTKMath \
-lTKMesh \
-lTKSTEP \
-lTKIGES \
-lTKSTL \
-lTKShHealing \
-lTKXSBase \
-lTKBool \
-lTKBO \
-lTKBRep \
-lTKTopAlgo \
-lTKGeomAlgo \
-lTKGeomBase \
-lTKOffset \
-lTKPrim \
-lFreeCADBase \
-lFreeCADApp \
-lFreeCADGui \
-lPart \
-lPartGui \
-lSketcher
#--------------------------------------------------------------------------------------
# Loader of libSketcherGui
SketcherGui_la_SOURCES=\
AppSketcherGui.cpp
# the library search path.
SketcherGui_la_LDFLAGS = $(libSketcherGui_la_LDFLAGS) -module -avoid-version
SketcherGui_la_CPPFLAGS = $(libSketcherGui_la_CPPFLAGS)
SketcherGui_la_LIBADD = \
$(libSketcherGui_la_LIBADD) \
Resources/libResources.la \
-lSketcherGui
SketcherGui_la_DEPENDENCIES = libSketcherGui.la
#--------------------------------------------------------------------------------------
# rule for Qt MetaObject Compiler:
moc_%.cpp: %.h
$(QT_MOC) $< -o $(@F)
# rule for Qt MetaObject Compiler:
%.moc: %.h
$(QT_MOC) $< -o $(@F)
# rules for Qt User Interface Compiler:
ui_%.h: %.ui
$(QT_UIC) $< -o $(@F)
# rules for Qt Resource Compiler:
qrc_%.cpp: %.qrc
$(QT_RCC) -name $(*F) $< -o $(@F)
# set the include path found by configure
AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src $(all_includes) $(QT_CXXFLAGS) -I$(OCC_INC) \
-I$(sim_ac_coin_includedir) -I$(sim_ac_soqt_includedir) -I$(EIGEN3_INC)
libdir = $(prefix)/Mod/Sketcher
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = \
$(libSketcherGui_la_UI) \
CMakeLists.txt

View File

@@ -1,153 +0,0 @@
noinst_LTLIBRARIES=libResources.la
BUILT_SOURCES=\
qrc_Sketcher.cpp
nodist_libResources_la_SOURCES=\
qrc_Sketcher.cpp
EXTRA_DIST = \
icons/Constraint_PointOnObject.svg \
icons/small/Constraint_TangentToStart_sm.xpm \
icons/small/Constraint_Length_sm.xpm \
icons/small/Constraint_Concentric_sm.xpm \
icons/small/Constraint_TangentToEnd_sm.xpm \
icons/small/Constraint_PointOnMidPoint_sm.xpm \
icons/small/Constraint_PointOnStart_sm.xpm \
icons/small/Constraint_Vertical_sm.xpm \
icons/small/Constraint_PointOnEnd_sm.xpm \
icons/small/Constraint_PointOnObject_sm.xpm \
icons/small/Constraint_PointToObject_sm.xpm \
icons/small/Constraint_InternalAngle_sm.xpm \
icons/small/Constraint_Radius_sm.xpm \
icons/small/Constraint_Horizontal_sm.xpm \
icons/small/Constraint_ExternalAngle_sm.xpm \
icons/small/Constraint_Parallel_sm.xpm \
icons/small/Constraint_Perpendicular_sm.xpm \
icons/small/Constraint_PointOnPoint_sm.xpm \
icons/small/Constraint_Tangent_sm.xpm \
icons/small/Constraint_EqualLength_sm.xpm \
icons/small/Constraint_HorizontalDistance_sm.xpm \
icons/small/Constraint_VerticalDistance_sm.xpm \
icons/small/Constraint_Symmetric_sm.xpm \
icons/Constraint_PointOnObject.svg \
icons/Constraint_TangentToStart.svg \
icons/Constraint_Length.svg \
icons/Constraint_Concentric.svg \
icons/Constraint_TangentToEnd.svg \
icons/Constraint_PointOnMidPoint.svg \
icons/Sketcher_ConstrainDistance.svg \
icons/Sketcher_ConstrainParallel.svg \
icons/Constraint_PointOnStart.svg \
icons/Constraint_Vertical.svg \
icons/Constraint_PointOnEnd.svg \
icons/Constraint_PointToObject.svg \
icons/Constraint_InternalAngle.svg \
icons/Constraint_Radius.svg \
icons/Constraint_Horizontal.svg \
icons/Constraint_ExternalAngle.svg \
icons/Constraint_Parallel.svg \
icons/Constraint_Perpendicular.svg \
icons/Constraint_PointOnPoint.svg \
icons/Constraint_Tangent.svg \
icons/Constraint_EqualLength.svg \
icons/Constraint_HorizontalDistance.svg \
icons/Constraint_VerticalDistance.svg \
icons/Constraint_Symmetric.svg \
icons/Sketcher_AlterConstruction.svg \
icons/Sketcher_AlterFillet.svg \
icons/Sketcher_ConstrainCoincident.svg \
icons/Sketcher_ConstrainHorizontal.svg \
icons/Sketcher_ConstrainLock.svg \
icons/Sketcher_ConstrainVertical.svg \
icons/Sketcher_CreateArc.svg \
icons/Sketcher_Create3PointArc.svg \
icons/Sketcher_CreateCircle.svg \
icons/Sketcher_Create3PointCircle.svg \
icons/Sketcher_CreateLine.svg \
icons/Sketcher_CreatePoint.svg \
icons/Sketcher_CreatePolyline.svg \
icons/Sketcher_CreateRectangle.svg \
icons/Sketcher_CreateFillet.svg \
icons/Sketcher_CreateText.svg \
icons/Sketcher_DraftLine.svg \
icons/Sketcher_Trimming.svg \
icons/Sketcher_External.svg \
icons/Sketcher_LeaveSketch.svg \
icons/Sketcher_MapSketch.svg \
icons/Sketcher_NewSketch.svg \
icons/Sketcher_ViewSketch.svg \
icons/Sketcher_Sketch.svg \
icons/Sketcher_Element_EndPoint.svg \
icons/Sketcher_Element_Line.svg \
icons/Sketcher_Element_MidPoint.svg \
icons/Sketcher_Element_StartingPoint.svg \
icons/small/Sketcher_Element_EndPoint_sm.xpm \
icons/small/Sketcher_Element_Line_sm.xpm \
icons/small/Sketcher_Element_MidPoint_sm.xpm \
icons/small/Sketcher_Element_StartingPoint_sm.xpm \
translations/Sketcher_af.qm \
translations/Sketcher_af.ts \
translations/Sketcher_de.qm \
translations/Sketcher_de.ts \
translations/Sketcher_es-ES.qm \
translations/Sketcher_es-ES.ts \
translations/Sketcher_fi.qm \
translations/Sketcher_fi.ts \
translations/Sketcher_fr.qm \
translations/Sketcher_fr.ts \
translations/Sketcher_hr.qm \
translations/Sketcher_hr.ts \
translations/Sketcher_it.qm \
translations/Sketcher_it.ts \
translations/Sketcher_nl.qm \
translations/Sketcher_nl.ts \
translations/Sketcher_no.qm \
translations/Sketcher_no.ts \
translations/Sketcher_pl.qm \
translations/Sketcher_pl.ts \
translations/Sketcher_pt-BR.qm \
translations/Sketcher_pt-BR.ts \
translations/Sketcher_ru.qm \
translations/Sketcher_ru.ts \
translations/Sketcher_sv-SE.qm \
translations/Sketcher_sv-SE.ts \
translations/Sketcher_uk.qm \
translations/Sketcher_uk.ts \
translations/Sketcher_zh-CN.qm \
translations/Sketcher_zh-CN.ts \
translations/Sketcher_zh-TW.qm \
translations/Sketcher_zh-TW.ts \
translations/Sketcher_cs.qm \
translations/Sketcher_cs.ts \
translations/Sketcher_sk.qm \
translations/Sketcher_sk.ts \
translations/Sketcher_hu.qm \
translations/Sketcher_hu.ts \
translations/Sketcher_ro.qm \
translations/Sketcher_ro.ts \
translations/Sketcher_tr.qm \
translations/Sketcher_tr.ts \
translations/Sketcher_ja.qm \
translations/Sketcher_ja.ts \
Sketcher.qrc
# rule for Qt MetaObject Compiler:
moc_%.cpp: %.h
$(QT_MOC) $< -o $(@F)
# rule for Qt MetaObject Compiler:
%.moc: %.h
$(QT_MOC) $< -o $(@F)
# rules for Qt Resource Compiler:
qrc_%.cpp: %.qrc
$(QT_RCC) -name $(*F) $< -o $(@F)
# set the include path found by configure
AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src -I$(srcdir)/.. \
$(all_includes) $(QT_CXXFLAGS) -I$(OCC_INC)
CLEANFILES = $(BUILT_SOURCES)

View File

@@ -65,6 +65,7 @@
<file>icons/Sketcher_External.svg</file>
<file>icons/Sketcher_LeaveSketch.svg</file>
<file>icons/Sketcher_MapSketch.svg</file>
<file>icons/Sketcher_MergeSketch.svg</file>
<file>icons/Sketcher_NewSketch.svg</file>
<file>icons/Sketcher_ProfilesHexagon1.svg</file>
<file>icons/Sketcher_SelectConflictingConstraints.svg</file>

View File

@@ -0,0 +1,351 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg5821"
sodipodi:version="0.32"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Sketcher_Merge_Sketch.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1"
inkscape:export-filename="/media/data/Yorik/FreeCAD/icons/Sketcher.png"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45">
<defs
id="defs5823">
<linearGradient
inkscape:collect="always"
id="linearGradient6349">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6351" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop6353" />
</linearGradient>
<linearGradient
id="linearGradient3377">
<stop
style="stop-color:#0019a3;stop-opacity:1;"
offset="0"
id="stop3379" />
<stop
style="stop-color:#0069ff;stop-opacity:1;"
offset="1"
id="stop3381" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3377"
id="linearGradient3383"
x1="901.1875"
y1="1190.875"
x2="1267.9062"
y2="1190.875"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,2199.356,0)" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective5829" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6349"
id="radialGradient6355"
cx="1103.6399"
cy="1424.4465"
fx="1103.6399"
fy="1424.4465"
r="194.40614"
gradientTransform="matrix(-1.4307499,-1.3605156e-7,-1.202713e-8,0.1264801,2674.7488,1244.2826)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.328125"
inkscape:cx="21.642937"
inkscape:cy="32"
inkscape:current-layer="g3360"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1680"
inkscape:window-height="995"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1" />
<metadata
id="metadata5826">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g3360"
inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/draft.png"
inkscape:export-xdpi="3.2478156"
inkscape:export-ydpi="3.2478156"
transform="matrix(0.1367863,0,0,0.1367863,-119.15519,-134.86962)">
<g
id="g3765">
<rect
y="1316.9672"
x="1010.6287"
height="119.62317"
width="139.40201"
id="rect3860"
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:14.85358047;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
transform="matrix(3.8144828,0,0,3.6149859,1026.5802,1189.457)"
d="m 48.363636,33.272728 a 18.181818,18.181818 0 1 1 -36.363636,0 18.181818,18.181818 0 1 1 36.363636,0 z"
sodipodi:ry="18.181818"
sodipodi:rx="18.181818"
sodipodi:cy="33.272728"
sodipodi:cx="30.181818"
id="path3862"
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
<path
inkscape:transform-center-y="-0.61637387"
transform="matrix(2.1664228,0,0,2.2386861,1076.2945,1314.2871)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3888"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<path
inkscape:transform-center-y="4.5061953"
transform="matrix(2.1664228,0,0,-2.2386861,1076.2945,1434.9197)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3888-9"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<path
inkscape:transform-center-x="1.9947136"
inkscape:transform-center-y="-3.0423375"
transform="matrix(1.7423908,-1.2200925,1.4037856,1.8005101,1121.2232,1222.3125)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3888-97"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
</g>
<g
id="g3772"
transform="matrix(0.81534896,0,0,0.80276295,66.651485,5.5090201)">
<rect
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:14.85358047;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3774"
width="139.40201"
height="119.62317"
x="1010.6287"
y="1316.9672" />
<path
sodipodi:type="arc"
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3776"
sodipodi:cx="30.181818"
sodipodi:cy="33.272728"
sodipodi:rx="18.181818"
sodipodi:ry="18.181818"
d="m 48.363636,33.272728 c 0,10.041541 -8.140277,18.181818 -18.181818,18.181818 C 20.140277,51.454546 12,43.314269 12,33.272728 12,23.231187 20.140277,15.09091 30.181818,15.09091 c 10.041541,0 18.181818,8.140277 18.181818,18.181818 z"
transform="matrix(3.8144828,0,0,3.6149859,1026.5802,1189.457)" />
<path
sodipodi:type="star"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3778"
sodipodi:sides="3"
sodipodi:cx="-16.727274"
sodipodi:cy="20.181818"
sodipodi:r1="8.051487"
sodipodi:r2="3.8833756"
sodipodi:arg1="0.52359878"
sodipodi:arg2="1.5707963"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
transform="matrix(2.1664228,0,0,2.2386861,1076.2945,1314.2871)"
inkscape:transform-center-y="-0.61637387" />
<path
sodipodi:type="star"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3780"
sodipodi:sides="3"
sodipodi:cx="-16.727274"
sodipodi:cy="20.181818"
sodipodi:r1="8.051487"
sodipodi:r2="3.8833756"
sodipodi:arg1="0.52359878"
sodipodi:arg2="1.5707963"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
transform="matrix(2.1664228,0,0,-2.2386861,1076.2945,1434.9197)"
inkscape:transform-center-y="4.5061953" />
<path
sodipodi:type="star"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3782"
sodipodi:sides="3"
sodipodi:cx="-16.727274"
sodipodi:cy="20.181818"
sodipodi:r1="8.051487"
sodipodi:r2="3.8833756"
sodipodi:arg1="0.52359878"
sodipodi:arg2="1.5707963"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
transform="matrix(1.7423908,-1.2200925,1.4037856,1.8005101,1121.2232,1222.3125)"
inkscape:transform-center-y="-3.0423375"
inkscape:transform-center-x="1.9947136" />
</g>
<g
transform="matrix(0.84841984,0,0,0.83711094,293.21029,-38.155576)"
id="g3784">
<rect
y="1316.9672"
x="1010.6287"
height="119.62317"
width="139.40201"
id="rect3786"
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:14.85358047;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
transform="matrix(3.8144828,0,0,3.6149859,1026.5802,1189.457)"
d="m 48.363636,33.272728 c 0,10.041541 -8.140277,18.181818 -18.181818,18.181818 C 20.140277,51.454546 12,43.314269 12,33.272728 12,23.231187 20.140277,15.09091 30.181818,15.09091 c 10.041541,0 18.181818,8.140277 18.181818,18.181818 z"
sodipodi:ry="18.181818"
sodipodi:rx="18.181818"
sodipodi:cy="33.272728"
sodipodi:cx="30.181818"
id="path3788"
style="color:#000000;fill:none;stroke:#ff1e00;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
<path
inkscape:transform-center-y="-0.61637387"
transform="matrix(2.1664228,0,0,2.2386861,1076.2945,1314.2871)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3790"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<path
inkscape:transform-center-y="4.5061953"
transform="matrix(2.1664228,0,0,-2.2386861,1076.2945,1434.9197)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3792"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<path
inkscape:transform-center-x="1.9947136"
inkscape:transform-center-y="-3.0423375"
transform="matrix(1.7423908,-1.2200925,1.4037856,1.8005101,1121.2232,1222.3125)"
d="m -9.7544817,24.207562 -6.9727923,-0.142368 -6.972792,0.142367 3.60969,-5.967431 3.363102,-6.109799 3.363102,6.109799 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="3.8833756"
sodipodi:r1="8.051487"
sodipodi:cy="20.181818"
sodipodi:cx="-16.727274"
sodipodi:sides="3"
id="path3794"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.63483143;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
</g>
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:7.31067371px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 892.45299,1187.6104 c -4.7057,36.7263 14.13938,76.0492 72.34694,95.4743 l -7.11609,17.1972 43.28956,-18.3833 -16.60419,-37.9525 -8.89513,18.3833 c -42.9544,-11.6634 -55.69162,-27.2559 -56.92875,-75.905 z"
id="path3796"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="cccccccc"
inkscape:connector-curvature="0"
id="path3798"
d="m 1295.9024,1182.7467 c -1.0435,29.8776 10.796,63.977 -34.3644,88.1214 l -10.9973,-15.0146 -6.7821,46.5395 41.055,5.5296 -11.0865,-17.1511 c 46.6273,-27.9935 55.3853,-56.9439 48.1787,-108.2411 z"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:7.31067371px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -228,7 +228,8 @@ inline void SketcherAddWorkspaceSketchExtra(T& sketch){
template <>
inline void SketcherAddWorkspaceSketchExtra<Gui::MenuItem>(Gui::MenuItem& sketch){
sketch << "Sketcher_ReorientSketch"
<< "Sketcher_ValidateSketch";
<< "Sketcher_ValidateSketch"
<< "Sketcher_MergeSketches";
}
template <typename T>

View File

@@ -1,11 +0,0 @@
SUBDIRS=App Gui Templates
# Change data dir from default ($(prefix)/share) to $(prefix)
datadir = $(prefix)/Mod/Sketcher
data_DATA = Init.py InitGui.py SketcherExample.py TestSketcherApp.py TestSketcherGui.py
EXTRA_DIST = \
$(data_DATA) \
CMakeLists.txt \
sketcher.dox

View File

@@ -1,7 +0,0 @@
# Change data dir from default $(datadir) to $(datadir)/Mod/Sketcher/Templates
datadir = @datadir@/Mod/Sketcher/Templates
data_DATA = \
Sketch.skf
EXTRA_DIST = \
$(data_DATA)