From f4fbc5bf62f5be9cad4d1c752bafc953c9c39509 Mon Sep 17 00:00:00 2001 From: nri Date: Mon, 12 May 2003 14:51:31 +0000 Subject: [PATCH 1/1] NRI : First integration. --- Makefile.in | 185 +++++++++++++ build_configure | 206 +++++++++++++++ configure.in.base | 358 ++++++++++++++++++++++++++ idl/GEOM_Gen.idl | 302 ++++++++++++++++++++++ idl/GEOM_Shape.idl | 67 +++++ idl/Makefile.in | 72 ++++++ resources/Geometry_en.xml | 273 ++++++++++++++++++++ resources/Geometry_fr.xml | 247 ++++++++++++++++++ resources/ModuleGeom.png | Bin 0 -> 1879 bytes resources/arc.png | Bin 0 -> 397 bytes resources/archimede.png | Bin 0 -> 325 bytes resources/axisinertia.png | Bin 0 -> 414 bytes resources/basicproperties.png | Bin 0 -> 260 bytes resources/bounding.png | Bin 0 -> 444 bytes resources/box.png | Bin 0 -> 310 bytes resources/box2points.png | Bin 0 -> 330 bytes resources/boxdxyz.png | Bin 0 -> 364 bytes resources/build_compound.png | Bin 0 -> 385 bytes resources/build_edge.png | Bin 0 -> 214 bytes resources/build_face.png | Bin 0 -> 225 bytes resources/build_shell.png | Bin 0 -> 898 bytes resources/build_solid.png | Bin 0 -> 908 bytes resources/build_wire.png | Bin 0 -> 340 bytes resources/centergravity.png | Bin 0 -> 328 bytes resources/chamfer.png | Bin 0 -> 283 bytes resources/chamferall.png | Bin 0 -> 288 bytes resources/chamferedge.png | Bin 0 -> 307 bytes resources/chamferface.png | Bin 0 -> 297 bytes resources/check.png | Bin 0 -> 606 bytes resources/circle.png | Bin 0 -> 399 bytes resources/circlepointvector.png | Bin 0 -> 346 bytes resources/common.png | Bin 0 -> 267 bytes resources/cone.png | Bin 0 -> 406 bytes resources/conedxyz.png | Bin 0 -> 438 bytes resources/conepointvector.png | Bin 0 -> 433 bytes resources/config | 1 + resources/cut.png | Bin 0 -> 283 bytes resources/cylinder.png | Bin 0 -> 330 bytes resources/cylinderdxyz.png | Bin 0 -> 389 bytes resources/cylinderpointvector.png | Bin 0 -> 384 bytes resources/delete.png | Bin 0 -> 943 bytes resources/display.png | Bin 0 -> 285 bytes resources/displayall.png | Bin 0 -> 268 bytes resources/erase.png | Bin 0 -> 373 bytes resources/eraseall.png | Bin 0 -> 380 bytes resources/fillet.png | Bin 0 -> 293 bytes resources/filletall.png | Bin 0 -> 288 bytes resources/filletedge.png | Bin 0 -> 307 bytes resources/filletface.png | Bin 0 -> 297 bytes resources/filling.png | Bin 0 -> 450 bytes resources/fuse.png | Bin 0 -> 286 bytes resources/geometry.png | Bin 0 -> 238 bytes resources/line.png | Bin 0 -> 259 bytes resources/line2points.png | Bin 0 -> 259 bytes resources/lineedge.png | Bin 0 -> 938 bytes resources/linepointvector.png | Bin 0 -> 255 bytes resources/mindist.png | Bin 0 -> 252 bytes resources/mirrorPlane.png | Bin 0 -> 336 bytes resources/multirotation.png | Bin 0 -> 446 bytes resources/multirotationdouble.png | Bin 0 -> 604 bytes resources/multirotationsimple.png | Bin 0 -> 587 bytes resources/multitranslation.png | Bin 0 -> 325 bytes resources/multitranslationdouble.png | Bin 0 -> 395 bytes resources/multitranslationsimple.png | Bin 0 -> 284 bytes resources/orientation.png | Bin 0 -> 362 bytes resources/partition.png | Bin 0 -> 335 bytes resources/partitionkeep.png | Bin 0 -> 412 bytes resources/pipe.png | Bin 0 -> 392 bytes resources/plane.png | Bin 0 -> 241 bytes resources/planeWorking.png | Bin 0 -> 268 bytes resources/planedxyz.png | Bin 0 -> 315 bytes resources/planeface.png | Bin 0 -> 368 bytes resources/planepointvector.png | Bin 0 -> 260 bytes resources/planeworkingface.png | Bin 0 -> 378 bytes resources/point2.png | Bin 0 -> 192 bytes resources/pointonedge.png | Bin 0 -> 255 bytes resources/prism.png | Bin 0 -> 315 bytes resources/revol.png | Bin 0 -> 488 bytes resources/rotate.png | Bin 0 -> 425 bytes resources/scale.png | Bin 0 -> 302 bytes resources/section.png | Bin 0 -> 276 bytes resources/select1.png | Bin 0 -> 975 bytes resources/sewing.png | Bin 0 -> 396 bytes resources/shading.png | Bin 0 -> 357 bytes resources/sketch.png | Bin 0 -> 398 bytes resources/sphere.png | Bin 0 -> 445 bytes resources/spheredxyz.png | Bin 0 -> 511 bytes resources/spherepoint.png | Bin 0 -> 451 bytes resources/subshape.png | Bin 0 -> 461 bytes resources/supressHolesOnFaceShell.png | Bin 0 -> 272 bytes resources/supressface.png | Bin 0 -> 368 bytes resources/supresshole.png | Bin 0 -> 285 bytes resources/tolerance.png | Bin 0 -> 387 bytes resources/torus.png | Bin 0 -> 448 bytes resources/torusdxyz.png | Bin 0 -> 504 bytes resources/toruspointvector.png | Bin 0 -> 493 bytes resources/translation.png | Bin 0 -> 285 bytes resources/tree_compound.png | Bin 0 -> 189 bytes resources/tree_compsolid.png | Bin 0 -> 908 bytes resources/tree_edge.png | Bin 0 -> 132 bytes resources/tree_face.png | Bin 0 -> 119 bytes resources/tree_shape.png | Bin 0 -> 909 bytes resources/tree_shell.png | Bin 0 -> 149 bytes resources/tree_solid.png | Bin 0 -> 156 bytes resources/tree_vertex.png | Bin 0 -> 119 bytes resources/tree_wire.png | Bin 0 -> 145 bytes resources/vector.png | Bin 0 -> 269 bytes resources/vector2points.png | Bin 0 -> 277 bytes resources/vectordxyz.png | Bin 0 -> 290 bytes resources/whatis.png | Bin 0 -> 414 bytes 110 files changed, 1711 insertions(+) create mode 100644 Makefile.in create mode 100755 build_configure create mode 100644 configure.in.base create mode 100644 idl/GEOM_Gen.idl create mode 100644 idl/GEOM_Shape.idl create mode 100644 idl/Makefile.in create mode 100644 resources/Geometry_en.xml create mode 100644 resources/Geometry_fr.xml create mode 100644 resources/ModuleGeom.png create mode 100644 resources/arc.png create mode 100644 resources/archimede.png create mode 100644 resources/axisinertia.png create mode 100644 resources/basicproperties.png create mode 100644 resources/bounding.png create mode 100644 resources/box.png create mode 100644 resources/box2points.png create mode 100644 resources/boxdxyz.png create mode 100644 resources/build_compound.png create mode 100644 resources/build_edge.png create mode 100644 resources/build_face.png create mode 100644 resources/build_shell.png create mode 100644 resources/build_solid.png create mode 100644 resources/build_wire.png create mode 100644 resources/centergravity.png create mode 100644 resources/chamfer.png create mode 100644 resources/chamferall.png create mode 100644 resources/chamferedge.png create mode 100644 resources/chamferface.png create mode 100644 resources/check.png create mode 100644 resources/circle.png create mode 100644 resources/circlepointvector.png create mode 100644 resources/common.png create mode 100644 resources/cone.png create mode 100755 resources/conedxyz.png create mode 100644 resources/conepointvector.png create mode 100644 resources/config create mode 100644 resources/cut.png create mode 100644 resources/cylinder.png create mode 100755 resources/cylinderdxyz.png create mode 100644 resources/cylinderpointvector.png create mode 100644 resources/delete.png create mode 100644 resources/display.png create mode 100644 resources/displayall.png create mode 100644 resources/erase.png create mode 100644 resources/eraseall.png create mode 100644 resources/fillet.png create mode 100644 resources/filletall.png create mode 100644 resources/filletedge.png create mode 100644 resources/filletface.png create mode 100644 resources/filling.png create mode 100644 resources/fuse.png create mode 100644 resources/geometry.png create mode 100644 resources/line.png create mode 100644 resources/line2points.png create mode 100644 resources/lineedge.png create mode 100644 resources/linepointvector.png create mode 100644 resources/mindist.png create mode 100644 resources/mirrorPlane.png create mode 100644 resources/multirotation.png create mode 100644 resources/multirotationdouble.png create mode 100644 resources/multirotationsimple.png create mode 100644 resources/multitranslation.png create mode 100644 resources/multitranslationdouble.png create mode 100644 resources/multitranslationsimple.png create mode 100644 resources/orientation.png create mode 100644 resources/partition.png create mode 100644 resources/partitionkeep.png create mode 100755 resources/pipe.png create mode 100644 resources/plane.png create mode 100644 resources/planeWorking.png create mode 100644 resources/planedxyz.png create mode 100644 resources/planeface.png create mode 100644 resources/planepointvector.png create mode 100644 resources/planeworkingface.png create mode 100644 resources/point2.png create mode 100755 resources/pointonedge.png create mode 100644 resources/prism.png create mode 100644 resources/revol.png create mode 100644 resources/rotate.png create mode 100644 resources/scale.png create mode 100644 resources/section.png create mode 100644 resources/select1.png create mode 100644 resources/sewing.png create mode 100755 resources/shading.png create mode 100644 resources/sketch.png create mode 100644 resources/sphere.png create mode 100644 resources/spheredxyz.png create mode 100644 resources/spherepoint.png create mode 100755 resources/subshape.png create mode 100755 resources/supressHolesOnFaceShell.png create mode 100644 resources/supressface.png create mode 100755 resources/supresshole.png create mode 100644 resources/tolerance.png create mode 100644 resources/torus.png create mode 100755 resources/torusdxyz.png create mode 100644 resources/toruspointvector.png create mode 100644 resources/translation.png create mode 100644 resources/tree_compound.png create mode 100644 resources/tree_compsolid.png create mode 100644 resources/tree_edge.png create mode 100644 resources/tree_face.png create mode 100644 resources/tree_shape.png create mode 100644 resources/tree_shell.png create mode 100644 resources/tree_solid.png create mode 100644 resources/tree_vertex.png create mode 100644 resources/tree_wire.png create mode 100644 resources/vector.png create mode 100644 resources/vector2points.png create mode 100644 resources/vectordxyz.png create mode 100644 resources/whatis.png diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 000000000..cb95a908e --- /dev/null +++ b/Makefile.in @@ -0,0 +1,185 @@ +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 28/06/2001 +# $Header$ +# + +# source path +top_srcdir=@top_srcdir@ +top_builddir=. +srcdir=@srcdir@ +VPATH=.:@srcdir@:@top_srcdir@/bin:@top_srcdir@/resources:./bin:@top_srcdir@/idl + + +@COMMENCE@ + +SUBDIRS = idl src + +RESOURCES_FILES = \ +Geometry_en.xml \ +Geometry_fr.xml \ +arc.png \ +archimede.png \ +axisinertia.png \ +basicproperties.png \ +bounding.png \ +box.png \ +box2points.png \ +boxdxyz.png \ +build_compound.png \ +build_edge.png \ +build_face.png \ +build_shell.png \ +build_solid.png \ +build_wire.png \ +centergravity.png \ +chamfer.png \ +chamferall.png \ +chamferedge.png \ +chamferface.png \ +check.png \ +circle.png \ +circlepointvector.png \ +common.png \ +cone.png \ +conedxyz.png \ +conepointvector.png \ +cut.png \ +cylinder.png \ +cylinderdxyz.png \ +cylinderpointvector.png \ +delete.png \ +display.png \ +displayall.png \ +erase.png \ +eraseall.png \ +fillet.png \ +filletall.png \ +filletedge.png \ +filletface.png \ +filling.png \ +fuse.png \ +geometry.png \ +line.png \ +line2points.png \ +lineedge.png \ +linepointvector.png \ +mindist.png \ +mirrorPlane.png \ +ModuleGeom.png \ +multirotation.png \ +multirotationdouble.png \ +multirotationsimple.png \ +multitranslation.png \ +multitranslationdouble.png \ +multitranslationsimple.png \ +orientation.png \ +partition.png \ +partitionkeep.png \ +pipe.png \ +plane.png \ +planeWorking.png \ +planedxyz.png \ +planeface.png \ +planepointvector.png \ +planeworkingface.png \ +point2.png \ +pointonedge.png \ +prism.png \ +revol.png \ +rotate.png \ +scale.png \ +section.png \ +select1.png \ +sewing.png \ +shading.png \ +sketch.png \ +sphere.png \ +spheredxyz.png \ +spherepoint.png \ +subshape.png \ +supressHolesOnFaceShell.png \ +supressface.png \ +supresshole.png \ +tolerance.png \ +torus.png \ +torusdxyz.png \ +toruspointvector.png \ +translation.png \ +tree_compound.png \ +tree_compsolid.png \ +tree_edge.png \ +tree_face.png \ +tree_shape.png \ +tree_shell.png \ +tree_solid.png \ +tree_vertex.png \ +tree_wire.png \ +vector.png \ +vector2points.png \ +vectordxyz.png \ +whatis.png + +# copy header files in common directory +ifeq ($(HAVE_SSTREAM),yes) + include_list=include/salome/SALOMEconfig.h +else + include_list=include/salome/SALOMEconfig.h include/salome/sstream +endif + +inc: idl $(include_list) + +include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.h + -$(RM) $@ + $(LN_S) ../../$< $@ + +include/salome/sstream: salome_adm/unix/sstream + -$(RM) $@ + $(LN_S) ../../$< $@ + +depend: depend_idl + +depend_idl: + (cd idl ; $(MAKE) $@) || exit 1 + +# doc is already build : if you want to had documents, go manually to doc and run 'make doc' +#doc: +# (cd doc && $(MAKE) $@) || exit 1 + +install-end: +# finish libtool install +# @$(LT) --mode=finish $(libdir) + +install-include: $(include_list) + $(INSTALL) -d $(includedir) + @for f in X $(include_list); do \ + if test $$f != X; then \ + ($(INSTALL_DATA) $$f $(includedir)/. || exit 1); \ + fi; \ + done + +# install script in $(bindir) : +install-bin: $(BIN_SCRIPT) + $(INSTALL) -d $(bindir) + if test $(BIN_SCRIPT)X != X; then \ + $(INSTALL_PROGRAM) $^ $(bindir); \ + fi + +uninstall: uninstall-idl + +uninstall-idl: + $(RM) $(idldir)/*.idl + +distclean: distclean-other + +distclean-other: + -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old + -$(RM) salome_adm/unix/make_* + -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h + -$(RM) config.cache config.log config.status + +@MODULE@ + +install: install-bin install-include install-end + diff --git a/build_configure b/build_configure new file mode 100755 index 000000000..c70b9c229 --- /dev/null +++ b/build_configure @@ -0,0 +1,206 @@ +#!/bin/bash + +# +# Tool for updating list of .in file for the SALOME project +# and regenerating configure script +# +# Author : Marc Tajchman - CEA +# Date : 10/10/2002 +# $Header$ +# + +ORIG_DIR=`pwd` +CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` + +######################################################################## +# Test if the KERNEL_ROOT_DIR is set correctly + +if test ! -d "${KERNEL_ROOT_DIR}"; then + echo "failed : KERNEL_ROOT_DIR variable is not correct !" + exit +fi + +# Test if the KERNEL_SRC is set correctly + +#if test ! -d "${KERNEL_SRC}"; then +# echo "failed : KERNEL_SRC variable is not correct !" +# exit +#fi +######################################################################## +# find_in - utility function +# +# usage : +# find_in directory filename +# +# Finds files following the *.in pattern, recursively in the +# directory (first argument). +# Results are appended into the file (second argument) +# +# Difference from the standard unix find is that files are tested +# before directories +# + +find_in() +{ + local i + local f=$2 + +# if the first argument is not a directory, returns + + if [ ! -d "$1" ] ; then + return + fi + +# dont look in the CVS directories + + case $1 in + */CVS) return ;; + *) ;; + esac + +# for each regular file contained in the directory +# test if it's a .in file + + for i in "$1"/* + do + if [ -f "$i" ] ; then + case $i in + *.in) echo " "$i" \\" >> $f;; + *) ;; + esac + fi + done + +# for each subdirectory of the first argument, proceeds recursively + + for i in "$1"/* + do + if [ -d "$i" ] ; then + find_in "$i" "$f" + fi + done +} + + +####################################################################### +# Generate list of .in files (Makefile.in, config.h.in, etc) +# appending it in file configure.in + +cd ${CONF_DIR} +ABS_CONF_DIR=`pwd` + +# +# Common part of the configure.in file +# +chmod u+w configure.in.base +if ! \cp -f configure.in.base configure.in_tmp1 +then + echo + echo "error : can't create files in" ${CONF_DIR} + echo "aborting ..." + chmod u-w configure.in.base + exit +fi +chmod u-w configure.in.base + +# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files +echo "" >> configure.in_tmp1 +echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 + +echo "" >> configure.in_tmp1 +echo "AC_OUTPUT([ \\" >> configure.in_tmp1 + +# +# List of .in files in the adm/unix directory +# These files MUST be on top of AC_OUTPUT list so we +# put them "manually" +# + +echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/make_omniorb \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/make_commence \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1 +echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 + +\rm -f configure.in_tmp2 configure.in_tmp3 +touch configure.in_tmp2 +find_in . configure.in_tmp2 +sed '/^.*salome_adm/d' configure.in_tmp2 > configure.in_tmp3 +sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 +sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 + +echo "])" >> configure.in_tmp1 + +# delete the link created for AC_OUTPUT +echo "" >> configure.in_tmp1 +echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 +\mv configure.in_tmp1 configure.in_new +\rm -f configure.in_tmp2 configure.in_tmp3 + + +######################################################################## +# Create new (or replace old) configure.in file +# Print a message if the file is write protected +# + +echo +if test ! -f configure.in +then + echo -n "Creating new file 'configure.in' ... " + if \mv configure.in_new configure.in >& /dev/null + then + echo "done" + else + echo "error, check your file permissions" + fi +else + echo -n "Updating 'configure.in' file ... " + if ! \cp configure.in configure.in_old >& /dev/null + then + echo + echo + echo "Can't backup previous configure.in" + echo -n "Continue (you will not be able to revert) - (Y/N) ? " + read R + case "x$R" in + xn*) exit;; + xN*) exit;; + esac + echo + echo -n " " + fi + if \cp configure.in_new configure.in >& /dev/null + then + echo "done" + else + echo + echo "error, can't update previous configure.in" + fi +fi + +######################################################################## +# Use autoconf to rebuild the configure script +# + +if test -f configure +then + echo -n "Updating 'configure' script ... " +else + echo -n "Creating 'configure' script ... " +fi + +aclocal --acdir=${KERNEL_ROOT_DIR}/salome_adm/unix/config_files +if autoconf +then + echo "done" +else + echo "failed (check file permissions and/or user quotas ...)" +fi + +cd ${ORIG_DIR} + +echo diff --git a/configure.in.base b/configure.in.base new file mode 100644 index 000000000..a688b3347 --- /dev/null +++ b/configure.in.base @@ -0,0 +1,358 @@ +# +# PLEASE DO NOT MODIFY configure.in FILE +# +# ALL CHANGES WILL BE DISCARDED BY THE NEXT +# build_configure COMMAND +# +# CHANGES MUST BE MADE IN configure.in.base FILE +# +# +# Author : Marc Tajchman (CEA) +# Date : 28/06/2001 +# Modified by : Patrick GOLDBRONN (CEA) +# Modified by : Marc Tajchman (CEA) +# +# Created from configure.in.base +# + +AC_INIT(src) +AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files) +AC_CANONICAL_HOST + +PACKAGE=salome +AC_SUBST(PACKAGE) + +VERSION=0.0.1 +AC_SUBST(VERSION) + +dnl +dnl Initialize source and build root directories +dnl + +ROOT_BUILDDIR=`pwd` +ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +cd $ROOT_SRCDIR +ROOT_SRCDIR=`pwd` +cd $ROOT_BUILDDIR + +AC_SUBST(ROOT_SRCDIR) +AC_SUBST(ROOT_BUILDDIR) + +echo +echo Source root directory : $ROOT_SRCDIR +echo Build root directory : $ROOT_BUILDDIR +echo +echo + +if test -z "$AR"; then + AC_CHECK_PROGS(AR,ar xar,:,$PATH) +fi +AC_SUBST(AR) + +dnl Export the AR macro so that it will be placed in the libtool file +dnl correctly. +export AR + +echo +echo --------------------------------------------- +echo testing make +echo --------------------------------------------- +echo + +AC_PROG_MAKE_SET +AC_PROG_INSTALL +dnl +dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! + +AC_ENABLE_DEBUG(yes) +AC_DISABLE_PRODUCTION + +echo --------------------------------------------- +echo testing libtool +echo --------------------------------------------- + +dnl first, we set static to no! +dnl if we want it, use --enable-static +AC_ENABLE_STATIC(no) + +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL + +dnl Fix up the INSTALL macro if it s a relative path. We want the +dnl full-path to the binary instead. +case "$INSTALL" in + *install-sh*) + INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh + ;; +esac + +echo +echo --------------------------------------------- +echo testing C/C++ +echo --------------------------------------------- +echo + +cc_ok=no +dnl inutil car libtool +dnl AC_PROG_CC +AC_PROG_CXX +AC_DEPEND_FLAG +# AC_CC_WARNINGS([ansi]) +cc_ok=yes + +dnl Library libdl : +AC_CHECK_LIB(dl,dlopen) + +dnl add library libm : +AC_CHECK_LIB(m,ceil) + +dnl +dnl Well we use sstream which is not in gcc pre-2.95.3 +dnl We must test if it exists. If not, add it in include ! +dnl + +AC_CXX_HAVE_SSTREAM + +dnl +dnl --------------------------------------------- +dnl testing MPICH +dnl --------------------------------------------- +dnl + +CHECK_MPICH + +echo +echo --------------------------------------------- +echo testing LEX \& YACC +echo --------------------------------------------- +echo + +lex_yacc_ok=no +AC_PROG_YACC +AC_PROG_LEX +lex_yacc_ok=yes + +echo +echo --------------------------------------------- +echo testing python +echo --------------------------------------------- +echo + +CHECK_PYTHON + +echo +echo --------------------------------------------- +echo testing java +echo --------------------------------------------- +echo + +CHECK_JAVA + +echo +echo --------------------------------------------- +echo testing swig +echo --------------------------------------------- +echo + +CHECK_SWIG + +echo +echo --------------------------------------------- +echo testing threads +echo --------------------------------------------- +echo + +ENABLE_PTHREADS + +echo +echo --------------------------------------------- +echo testing omniORB +echo --------------------------------------------- +echo + +CHECK_OMNIORB + +echo +echo --------------------------------------------- +echo testing mico +echo --------------------------------------------- +echo + +CHECK_MICO + +echo +echo --------------------------------------------- +echo default ORB : omniORB +echo --------------------------------------------- +echo + +DEFAULT_ORB=omniORB +CHECK_CORBA + +AC_SUBST_FILE(CORBA) +corba=make_$ORB +CORBA=salome_adm/unix/$corba + +echo +echo --------------------------------------------- +echo testing openGL +echo --------------------------------------------- +echo + +CHECK_OPENGL + +echo +echo --------------------------------------------- +echo testing QT +echo --------------------------------------------- +echo + +CHECK_QT + +echo +echo --------------------------------------------- +echo testing VTK +echo --------------------------------------------- +echo + +CHECK_VTK + +echo +echo --------------------------------------------- +echo testing HDF5 +echo --------------------------------------------- +echo + +CHECK_HDF5 + +echo +echo --------------------------------------------- +echo testing MED2 +echo --------------------------------------------- +echo + +CHECK_MED2 + +echo +echo --------------------------------------------- +echo Testing OpenCascade +echo --------------------------------------------- +echo + +CHECK_CAS + +echo +echo --------------------------------------------- +echo Testing Kernel +echo --------------------------------------------- +echo + +CHECK_KERNEL + +echo +echo --------------------------------------------- +echo Summary +echo --------------------------------------------- +echo + +echo Configure +variables="cc_ok lex_yacc_ok python_ok java_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok med2_ok omniORB_ok mico_ok occ_ok Kernel_ok" + +for var in $variables +do + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var +done + +echo +echo "Default ORB : $DEFAULT_ORB" +echo + +dnl generals files which could be included in every makefile + +AC_SUBST_FILE(COMMENCE) COMMENCE=salome_adm/unix/make_commence +AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude +AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module + +dnl les dependences +AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend + +dnl We don t need to say when we re entering directories if we re using +dnl GNU make becuase make does it for us. +if test "X$GMAKE" = "Xyes"; then + AC_SUBST(SETX) SETX=":" +else + AC_SUBST(SETX) SETX="set -x" +fi + +# make other build directories +for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources share/salome/doc idl +do +# if test ! -d $rep ; then +# eval mkdir $rep +# fi + $INSTALL -d $rep +done + +echo +echo --------------------------------------------- +echo copying resource files, shell scripts, and +echo xml files +echo --------------------------------------------- +echo + + +dnl copy resources directories + +#for i in `find $ROOT_SRCDIR -name 'resources' -print` +#do +# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` +# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +# mkdir -p $local_res_dir +# cd $local_res_dir +# ln -fs $i +# echo $local_res +# cd $ROOT_BUILDDIR +#done + +dnl copy shells and utilities contained in the bin directory +dnl excluding .in files (treated in AC-OUTPUT below) and CVS +dnl directory + +cd bin +for i in $ROOT_SRCDIR/bin/* +do + local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` + case "$local_bin" in + *.in | *~) ;; + ./bin/CVS) ;; + *) ln -fs $i; echo $local_bin ;; + esac +done +cd $ROOT_BUILDDIR + +AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript + +dnl copy xml files to the build tree (lib directory) +dnl pourquoi ???? + +#cd lib +#for i in `find $ROOT_SRCDIR -name "*.xml" -print` +#do +# ln -fs $i +# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"` +#done +#cd $ROOT_BUILDDIR + + +echo +echo --------------------------------------------- +echo generating Makefiles and configure files +echo --------------------------------------------- +echo + +AC_OUTPUT_COMMANDS([ \ + chmod +x ./bin/* \ +]) + +## do not delete this line diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl new file mode 100644 index 000000000..c4a1d83ec --- /dev/null +++ b/idl/GEOM_Gen.idl @@ -0,0 +1,302 @@ +// File : GEOM_Gen.idl +// Created : +// Author : Lucien PIGNOLONI +// Project : SALOME +// Copyright : OPEN CASCADE +// $HEADERS: + + +#ifndef __GEOM_GEN__ +#define __GEOM_GEN__ + +#include "SALOME_Exception.idl" +#include "SALOME_Component.idl" +#include "SALOMEDS.idl" +#include "GEOM_Shape.idl" + +module GEOM +{ + interface GEOM_Gen : Engines::Component,SALOMEDS::Driver + { + typedef sequence ListOfIOR ; + typedef sequence ListOfGeomShapes ; + + //--------------------------------------------------------------// + // Studies Management // + //--------------------------------------------------------------// + void GetCurrentStudy(in long StudyID) ; + + short NbLabels(); + + //--------------------------------------------------------------// + // Shapes Management // + //--------------------------------------------------------------// + GEOM_Shape GetIORFromString (in string ior); + ListOfIOR GetReferencedObjects(in GEOM_Shape shape); + ListOfIOR GetObjects (in GEOM_Shape shape); + + //--------------------------------------------------------------// + // Structures // + //--------------------------------------------------------------// + PointStruct MakePointStruct(in double x, + in double y, + in double z) ; + DirStruct MakeDirection (in PointStruct p) ; + AxisStruct MakeAxisStruct(in double x, + in double y, + in double z, + in double vx, + in double vy, + in double vz) ; + + //------------------------------------------------------------// + // Boolean Operations // + //------------------------------------------------------------// + GEOM_Shape MakeBoolean (in GEOM_Shape shape1, + in GEOM_Shape shape2, + in long operation) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeFuse( in GEOM_Shape shape1, + in GEOM_Shape shape2) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Advanced Operations // + //-----------------------------------------------------------// + GEOM_Shape Partition (in ListOfIOR ListShapes, + in ListOfIOR ListTools, + in ListOfIOR ListKeepInside, + in ListOfIOR ListRemoveInside, + in short Limit) + raises (SALOME::SALOME_Exception) ; + + + GEOM_Shape MakeFilling(in GEOM_Shape shape, + in short mindeg, + in short maxdeg, + in double tol3d, + in double tol2d, + in short nbiter) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeSewing (in ListOfIOR ListShape, + in double precision) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeSewingShape( in GEOM_Shape aShape, + in double precision ) raises (SALOME::SALOME_Exception); + + GEOM_Shape OrientationChange(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakePlacedBox(in double x1, in double y1, in double z1, + in double delta1, in double delta2, in double delta3) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakePanel(in GEOM_Shape shape, + in short directiontype, + in double delta) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeGlueFaces(in GEOM_Shape shape, + in double tol3d) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Transformations Operations // + //-----------------------------------------------------------// + GEOM_Shape MakeCopy(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeTranslation(in GEOM_Shape shape, + in double x, + in double y, + in double z) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeRotation(in GEOM_Shape shape, + in AxisStruct axis, + in double angle) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeScaleTransform(in GEOM_Shape shape, + in PointStruct theCenterofScale, + in double factor) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeMirrorByPlane(in GEOM_Shape shape, + in GEOM_Shape shapePlane) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeRevolution(in GEOM_Shape shape, + in AxisStruct axis, + in double angle) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakePrism(in GEOM_Shape baseShape, + in PointStruct P1, + in PointStruct P2) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakePipe(in GEOM_Shape pathShape, + in GEOM_Shape baseShape) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Patterns Construction // + //-----------------------------------------------------------// + GEOM_Shape MakeMultiTranslation1D(in GEOM_Shape shape, + in DirStruct dir, + in double step, + in short nbtimes) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeMultiTranslation2D(in GEOM_Shape shape, + in DirStruct dir1, + in double step1, + in short nbtimes1, + in DirStruct dir2, + in double step2, + in short nbtimes2) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeMultiRotation1D(in GEOM_Shape shape, + in DirStruct dir, + in PointStruct loc, + in short nbtimes) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeMultiRotation2D(in GEOM_Shape shape, + in DirStruct dir, + in PointStruct loc, + in double ang, + in short nbtimes1, + in double step, + in short nbtimes2) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Mesures Construction // + //-----------------------------------------------------------// + GEOM_Shape MakeCDG(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; + + + //-----------------------------------------------------------// + // Primitives Construction // + //-----------------------------------------------------------// + + GEOM_Shape MakeVertex(in double x, + in double y, + in double z) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeVector (in PointStruct pstruct1, + in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeLine (in PointStruct pstruct, + in DirStruct dstruct) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakePlane (in PointStruct pstruct, + in DirStruct dstruct, + in double trimsize) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeCircle(in PointStruct pstruct, + in DirStruct dstruct, + in double radius) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeArc(in PointStruct pInit, + in PointStruct pCircle, + in PointStruct pEnd) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Primitives Construction // + //-----------------------------------------------------------// + GEOM_Shape MakeBox (in double x1, + in double y1, + in double z1, + in double x2, + in double y2, + in double z2) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeCylinder(in PointStruct pstruct, + in DirStruct dstruct, + in double radius, + in double height) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeSphere (in double x1, + in double y1, + in double z1, + in double radius) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeTorus(in PointStruct pstruct, + in DirStruct dstruct, + in double major_radius, + in double minor_radius) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeCone(in PointStruct pstruct, + in DirStruct dstruct, + in double radius1, + in double radius2, + in double height) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Archimede // + //-----------------------------------------------------------// + GEOM_Shape Archimede(in GEOM_Shape shape, + in double Weight, + in double WaterDensity, + in double MeshingDeflection) raises (SALOME::SALOME_Exception); + + //-----------------------------------------------------------// + // Build // + //-----------------------------------------------------------// + GEOM_Shape MakeEdge (in PointStruct pstruct1, + in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeWire (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeCompound (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; + GEOM_Shape MakeFace (in GEOM_Shape shapeWire, + in boolean wantplanarface ) raises (SALOME::SALOME_Exception) ; + + + //-----------------------------------------------------------// + // Subshapes Construction for GUI only // + //-----------------------------------------------------------// + GEOM_Shape SubShape(in GEOM_Shape shape, + in short ShapeType, + in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Subshapes Construction for TUI or GUI // + //-----------------------------------------------------------// + ListOfGeomShapes SubShapeAll(in GEOM_Shape shape, + in short ShapeType) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Subshapes Construction + // Use it to have the same order of subshapes if their + // order may change as a result of reconstruction using + // boolean operations, fillet etc. + //-----------------------------------------------------------// + GEOM_Shape SubShapeSorted(in GEOM_Shape shape, + in short ShapeType, + in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; + + ListOfGeomShapes SubShapeAllSorted(in GEOM_Shape shape, + in short ShapeType) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Fillet and Chamfer construction // + //-----------------------------------------------------------// + GEOM_Shape MakeFillet(in GEOM_Shape shape, + in double radius, + in short ShapeType, + in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; + + GEOM_Shape MakeChamfer(in GEOM_Shape shape, + in double d1, + in double d2, + in short ShapeType, + in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Suppress faces in a shape // + //-----------------------------------------------------------// + ListOfGeomShapes SuppressFaces(in GEOM_Shape shape, + in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Suppress a single hole in topology (face) shell or solid // + // : ListOfIdEndFace may be an empty list // + // : used only when hole traverses the topology // + //-----------------------------------------------------------// + GEOM_Shape SuppressHole(in GEOM_Shape shape, + in GEOM_Shape::ListOfSubShapeID ListOfIdFace, + in GEOM_Shape::ListOfSubShapeID ListOfIdWire, + in GEOM_Shape::ListOfSubShapeID ListOfIdEndFace ) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Suppress one or more holes in a face or a shell // + //-----------------------------------------------------------// + GEOM_Shape SuppressHolesInFaceOrShell(in GEOM_Shape shapeFaceShell, + in GEOM_Shape::ListOfSubShapeID ListOfIdWires ) raises (SALOME::SALOME_Exception) ; + + //-----------------------------------------------------------// + // Import/Export // + //-----------------------------------------------------------// + GEOM_Shape ImportIGES(in string filename) raises (SALOME::SALOME_Exception) ; + GEOM_Shape ImportBREP(in string filename) raises (SALOME::SALOME_Exception) ; + GEOM_Shape ImportSTEP(in string filename) raises (SALOME::SALOME_Exception) ; + + void ExportIGES(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; + void ExportBREP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; + void ExportSTEP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; + //-----------------------------------------------------------// + // Check Shape // + //-----------------------------------------------------------// + boolean CheckShape(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; + + }; +}; + +#endif diff --git a/idl/GEOM_Shape.idl b/idl/GEOM_Shape.idl new file mode 100644 index 000000000..f9c61eab0 --- /dev/null +++ b/idl/GEOM_Shape.idl @@ -0,0 +1,67 @@ +// File : GEOM_Shape.idl +// Created : 29 november 2001 +// Author : Lucien PIGNOLONI +// Project : SALOME +// Copyright : OPEN CASCADE +// $HEADERS: + + +#ifndef __GEOM_Shape__ +#define __GEOM_Shape__ + +module GEOM +{ + //-----------------------------------------------------------------// + // Topological types for shapes (like Open Cascade types) // + //-----------------------------------------------------------------// + + enum shape_type { COMPOUND, COMPSOLID, SOLID, SHELL, + FACE, WIRE, EDGE, VERTEX, SHAPE } ; + + //----------------------------------------------------------------// + // Structures // + //--------------------------------------------------- ------------// + struct PointStruct { double x; + double y; + double z; } ; + struct DirStruct { PointStruct PS ; } ; // analog to Occ Direction + + struct AxisStruct { double x; + double y; + double z; + double vx; + double vy; + double vz; } ; + + //----------------------------------------------------------------// + // interface GEOM_Shape methods // + //----------------------------------------------------------------// + + interface GEOM_Gen; + + interface GEOM_Shape + { + typedef sequence ListOfSubShapeID ; + typedef sequence TMPFile; + + attribute string Name; // (to set and get) the name of shape (= CORBA IOR converted into a string) + attribute string MainName; // (to set and get) the name of mainshape (= CORBA IOR converted into a string) + + attribute boolean IsMainShape; // (...) true if this is a main shape (not a sub shape) + attribute string ShapeId; // (...) the entry of the shape in geom/OCAF document + attribute string StudyShapeId; // (...) the entry of the shape in the study/OCAF when added + attribute ListOfSubShapeID Index; // (...) list of references (number) identifing the sub shapes in the main shape + attribute shape_type ShapeType; // (...) a topological type of the shape + + attribute string NameType; // (...) a topological/geometrical name of the shape + + //Transfer resulting shape to client as sequence of bytes + //client can extract shape from stream using BrepTools::Read function + TMPFile GetShapeStream(); + + // the generator engine + GEOM_Gen Engine(); + + }; +}; +#endif diff --git a/idl/Makefile.in b/idl/Makefile.in new file mode 100644 index 000000000..928bb57e8 --- /dev/null +++ b/idl/Makefile.in @@ -0,0 +1,72 @@ +# +# generate dependencies for idl file : +# + +# source path +top_srcdir=@top_srcdir@ +top_builddir=.. +srcdir=@srcdir@ +VPATH=.:$(srcdir):${KERNEL_ROOT_DIR}/idl/salome + +@COMMENCE@ + +IDL_FILES = \ + SALOME_Component.idl \ + SALOMEDS.idl \ + SALOMEDS_Attributes.idl \ + SALOME_Exception.idl \ + Logger.idl \ + SALOME_ModuleCatalog.idl \ + GEOM_Shape.idl \ + GEOM_Gen.idl + +PY_CLIENT_IDL = $(IDL_FILES) + +# we copy all idl file in $(top_builddir)/idl +inc: $(IDL_FILES:%=$(top_builddir)/idl/%) + +$(IDL_FILES:%=$(top_builddir)/idl/%):$(top_builddir)/idl/%:% +# $(CP) $< $@ + cp -f $< $@ + + +lib: pyidl + +PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@ + +pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py) + +$(PYTHON_BUILD_SITE): + $(INSTALL) -d $@ + +$(PYTHON_BUILD_SITE)/%_idl.py: %.idl + $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $< + + +# install python client (generated from idl file +install: install-pyidl install-idl + +# create directory $(idldir) and copy idl files into it +install-idl: $(IDL_FILES) + $(INSTALL) -d $(idldir) + $(INSTALL_DATA) $^ $(idldir) + + +install-pyidl: $(IDL_FILES) + $(INSTALL) -d $(PYTHON_SITE_INSTALL) + @for file in $^ dummy; do \ + if [ $$file != "dummy" ]; then \ + $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \ + fi ; \ + done ; + +#@ CONCLUDE @ + +cleandep: + -$(RM) .dep* + +distclean: + -$(RM) *.py + -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/%) + -$(RM) Makefile + diff --git a/resources/Geometry_en.xml b/resources/Geometry_en.xml new file mode 100644 index 000000000..0cbf65081 --- /dev/null +++ b/resources/Geometry_en.xml @@ -0,0 +1,273 @@ + + + + + + + + + title="Geometry component" + date="2001/12/12" + author="Lucien PIGNOLONI" + appId="Geometry for Salome"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/Geometry_fr.xml b/resources/Geometry_fr.xml new file mode 100644 index 000000000..fcf955312 --- /dev/null +++ b/resources/Geometry_fr.xml @@ -0,0 +1,247 @@ + + + + + + + + title="Geometry component" + date="2001/12/12" + author="Lucien PIGNOLONI" + appId="Geometry for Salome"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/ModuleGeom.png b/resources/ModuleGeom.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf6099f858e9d05d2eda0e267525267a04badd8 GIT binary patch literal 1879 zcmV-d2dMaoP)wp>EW}t^ir%h20 zQX3*Ez9hSQSZxZD)l0~!9$aFi>|wh(w6X>5>QtgVcr{*9ONEL(ZE$azo9AMxrW7Kx zq8@{=pTRJDcz)vqsOL*23bPb#inv z@ji(}!ct^8UEicoWI4_EoMw-y1sopjZ>N&k^z7vrW-rG80Q#PUO3gr5*Ks3x!#X_L z-wqyuguS_arVgZjHKDP8dDJ=*BN^4Ch zvIMmlLv=Oh5~9d*+Ka@(;+&O8B&_&bam3%cfznzNUEP3Mj6p4)8>8LPka{om+#H&L zhTsq;=>v}*KDOeSvgfm%EtMUb%)H zL08vXbO?wc@!bn=T=3;Kkq1b~M1F~QK8t6{C~xfA*5o(~s}>!K5Cj3B@FdUoNF}rO z`uZkCDw$0m3=Y!cJTcY-zx(ZN>)YN7RBFaJod5u}7(+B7L6KQFw4OFw`VUfilC{;< z928kXJX3~z%|I%dMdOPGL{YqY>6e$jpIX4}TlcK>&#Ex`vlEdYMSh7O8kq+G^anlE zH|f|lYBA;trRLw-2uH$*MxugOD9!k7^yuMZt3NQ1&D@yC`cAU#j)wdl6+jdDrE}sd z1<8KjPY@3!7M41eKUhZNiv}pAS1!D9;UzEl=72M)#t~mBNa*T1((mLT2m=U%zs>j6%#-O&I@p3kC@dGP82 zFza#A)zutIYfa>r2xc$8X|Ib$B$U>gXVy26Uy_kZ&ZFJYY{I-m^S$UP1y14Vg+Kvb z;K{{_J4rjC$c#)^*Im!6t2wB}m|b?ggdkHsGaLh@6vy-!L*WNd~nxxw;!Ay@Cw1wS`z^CNV~&4()ybH)*tjx-q^)TL2`M*3!WbM`#(Mx z_`=?IeY`n8i_-hcP?A+NzB+&+%dU#z35O9!6LnNb>+2@+g=M5~=1{2_sBcnNQ=D1= zhgyuG@znv2hhelkn#Lni1@bS3(v)(6ITK)EiT z#V|u@t?8Os`1I&Zx_G91CRBs|10(JgLOWY3NXUeetiDtT${V|5V?R*9?OXS(XoNMV z(JC@JcqI1{767m+;zy2);CF#hFYpSqv!%Xd0Dy(! zi+}HqosEK$KTv=oOLiUiLp)PPf56@uwQxLBwx>#G2u_PsGKRWQ;RXw8)ftdJzrA1+Hnv86(Fxtr6NF}p@o@sY9 zSe9j5pUe34)tIa6#O9c9!1VIq&snglLb$u80#>a?8=6ySCQ~Rgg1IAe&7;~jO zIXc1JJ0+_>FkGFITe#iPP_M1CL%-CJzL{fV@^2LT-Rk2f09X@r-g%u~;&+Qm%>c~v z1}28Y!0Y5#0bImi{=9B=b;F(@Ir2*c%kTdYJO6sYNZ!9|KO=;I%n%Slpl!C%)eXDs za%1qj#i)3`HXLEr_q)(fBme*oe>}Wmn&$Jnzh?wl6=8&;5y_KySPb*nZBa_o$HQZo zLlY0~Kd?nqS99m09-UV-F(k6k5yh*7kne;3FEo*WlcN)uLvx!BY5KrCKzVH)fVagt zaWQm$xO4q6J%+Z~M!Tc=i=V*qQwiWAD5Y1-q4^xA?4nIi*(l&g+-p5Or5jF~$mp`#wTNG?vj$14jM6#}ptJXO_G#;rH>kRY0;K~D`}xTJ z$mUvWY+8Nu6d95XS&<)T-*z{oAP}g(#%vt087)v`NV1>WU343%-c1>lKtVz1nZP@i rEU#g1pw6hNPhhi~wZfCuLaIYJ?m$q90coFPyJOpnl82;ZhlpmPR;Gi30l4z69**skUJ zfk23__a%Kv3d^d5gQLnLjYUlh6*hnW_|tPa?*TA{u@VX*LUznluvFH@Rb|EF`Jk@r z-U`3B*=C-?O?ofyq@;+*kI)pxo;cyN)iDB7m{sc>R%NxOj{ur;@a1yelfUJ|!vDxb zgh(PJbc*5z&cT&!;tdkZ?<%`Na}g1C$qtDdX?Dz1Crp#nO9l{0#O?FO;pNcD0K#pu z^_BtMnYpqC+cd4UZTnNrjT@S?sLE3;7V4|E`c?5nOnN9HYUN;5~F#+D$RbSZ`pVwMWo`kd>sz@Dv5J5PS>abrF*$ z%^$7!gFxQQyzk9qCQo6wsqQWbGF*PF)#y&1eCWgLWTUg1`1`Wm@0E@Q;oo)x$aq;_pbIIX+n{R6K zC;J3jY_z3wUt?3wl?|Y^=AaMAQF7ZwWAh)~9B4s#a8+|`MU&?sf6r#|?gUZUQ`t0X zZq9TT^6|c4^|{Pvv9;vM$Yc6?zBxrT0l7}j;djm&YJ{@c^wDLQN|77Ko-+SeG+4v}RqTMzb-@Wok zZ4C<xK;mShx>wN@DP-wd5afI zr~r0px$Z};(}?QtbGDexF~$(}BdJV@YQvqNU9P(HbRQxD*)*ef*{j_K$G85hVpDkQ zi~8;ica@SfXE++-cCG{X2Nm1WrCnL|fblpy3sk-D_N7DTobT{CT@#PPqu}cKbGoiU z71%3^5Rjxf%Kk@a3A#dP*Yqo*NGzcyXFv)6q|zKs9l(^ zoW(V4`kv9dERS6ehvw9dCIGI_K(cfU=s0ph_Q#I=5W}8S82Q0000w zK}y6x5Jg{W7QZ2j9uUbXa*4qM=-eWA2m~BFg13ls7f%s}KxW}08)+ArU`(bH0wW0i zZ8fjzS67w6b5-437xxRmC>Sv-n&C0?K!Y!eg4_G2Sx%m%0F;N)D-x0}ST^|Q*Z0Mu z@+_r)*VGNCj}vX%jw(Fc>@!0V1P+r{bwxsgq^afp;pg!!X!$$gRDXYL{vj~DDRe)* zHg*v>H!_{NEy}Z${mcGGWMX+4)@cZngq1~+Mkip!K^VeZ?AY9GaIu>r%0ua!x}mD8 zMd%o|eb|~w4;2X;TN08*pp`|j*gfvT=Sva}hot2S&nIiBFJSgbJyk=5&Hw-a07*qo IM6N<$f>H>9P5=M^ literal 0 HcmV?d00001 diff --git a/resources/box2points.png b/resources/box2points.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe93676ddd235916940dc98391254e4d2493150 GIT binary patch literal 330 zcmV-Q0k!^#P)!wDA3?xTDFY$76QOm=HxB7c+ z^AEhOvaid@{W>-Yyw@_l`Y9@l9J|+D5D6^nk6^ug7)cl!FyS!E{??FL90Hh4Emlt} z*wlv0K?UmE0d3QwZt7X+7`EQ5CHO;8$om`Bqy`zXS)ic-Q+~sMiK38%g$2p^7k;g* cD+~ZW0Y-mST=`l}L;wH)07*qoM6N<$f;q>I#{d8T literal 0 HcmV?d00001 diff --git a/resources/boxdxyz.png b/resources/boxdxyz.png new file mode 100644 index 0000000000000000000000000000000000000000..c84482ac52b852cef4571355f1bab075bcab7fe5 GIT binary patch literal 364 zcmV-y0h9iTP)_y~X{O9YOP10X?XN1~uXT!K?rktL^~a1$+s zy@`pvF-clpv&D|Sd2fG4q3M-YXr)p8yLO$}VD0s2pmBDHL%WB4+_f4zHdvA*oSsj1 za^ffiAf2aL96>~SA}jR6>}$|e9EF&=vM5=8FR7|(%V87KbcVzVY&Xq|oPYok=|(n% zt3_swylL1~?=2srf8gP|y152y54+K7k^O1!?)Dyl$>g#hxa-N(s((=&g-oBOJT}lQ zOS_SWVYLhlKty1pw6o!8l4KI*Ef($u>uMs+hF70T@0eXbu(R2zOO7H;+8Pla?3ciNVkf9I_hG+<= zLo8LU6;}yHRhIYPd#GBW z4;nV(W%HtP>FhcA{l|dC1Dh{C%!jT&)}S$gIDv>TyPr9D*m47FDQaMOQ6XKV(6xp> z=}u`E=qdA|7H0Dfs@u>m(12Zn`1$4A5=VW6KIztwZt7wFngamDSU^rBrjx1b;cPyH=Tv5sg5+J>@VEIPX5DaGn#SkmsWlrO+00 z!sc^>r^f`V_Z3vF+A!YTFzVV{`v-M^6cR!R%pc~#o6@V$DQ)aaE`x)(S|NbeS@VZ* fGcYy=f3bf6q1lTcLZf9Y00000NkvXXu0mjf)S{{G literal 0 HcmV?d00001 diff --git a/resources/build_edge.png b/resources/build_edge.png new file mode 100644 index 0000000000000000000000000000000000000000..877c1f702f8aa641f88edbddfac8f35d4d04604b GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqEq&Y{1j{FkY4Y z>?KpD_LqE?Y3)40o7~baE?gkT)p)HeOWQ6ad?x?tL;eN3t}WI79=_m-e0E2~=S@GK zgh$H1?(5qgs8DdY@@CDh{f5Se&)EI)O=z;!wG8HcW*{pPdiVHRw(N~s8(4pHZcA!U zV9{<0)Zw0Y@WF3p&OYH|K>`-d2M-1*Nr)VB3}u{UsL>X%XBYb$?j);)i(mM+gIvwv M>FVdQ&MBb@0Pnd`xc~qF literal 0 HcmV?d00001 diff --git a/resources/build_face.png b/resources/build_face.png new file mode 100644 index 0000000000000000000000000000000000000000..5f12c70dfcfeb10809a6d5f622497564658ce67d GIT binary patch literal 225 zcmV<703QE|P)6Cjv*Ddk`oqiB{VUs7^Z0~m?j}+y+KRG vTi|3ui^8O=6h}3mw;s!sW_lj@=)%O{xtej~f7QPWK>_FK>gTe~DWM4flJF?% literal 0 HcmV?d00001 diff --git a/resources/build_solid.png b/resources/build_solid.png new file mode 100644 index 0000000000000000000000000000000000000000..45e0efb7fd0057a0f1fdf8e6e0ecc89f3e041a4d GIT binary patch literal 908 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU}gyL32{Agzopr E0PDIcq5uE@ literal 0 HcmV?d00001 diff --git a/resources/build_wire.png b/resources/build_wire.png new file mode 100644 index 0000000000000000000000000000000000000000..ca881f8b04898f0932648d4fce8fbe082761e964 GIT binary patch literal 340 zcmV-a0jvIrP)ZrE5Jlfc6jP*d=}2iJ(Lk4ydc|SvGf;Ad_!Q0sEb5f$ps|!D5|l1dY=N{cA}kCn zI2%v3#qjojX8tNHcddu};vl%36gGb=XPdKa3>G!lqxzPMLt%|EnASKysG5k^=PyJA zo$3+X%d%+=#u$o2F`B@ifzi66YN88tSjuP0`L49lx&mPJxVp0LWjP6JswM&$sq_N& z6`A(>UwZGMOQko^rSe}%nNm5PvcfK^uFO0FXeY zEhk~k$MMOTh7Oi(;?ZT33cE~ye!sZHk!@nt&%OkLh`5t-%R|vs2h*um&ME6uD-l5g mxfuovYqJC$!oc%!n5#2GgO7`X&xQ8@0000!M(g*yhUZn zo_=3l)ifUsZQG72ytdhAhIA1eCM~Oym>5aZmivvSd0%Y#JK;3`=h>vs%N1<~d+evE z7tG%-H{V}_TQFGrQ|NAb>)I^1_GG$9arQ`-?8#60&B~-@Ki0(%lSHTx1saWj4Fh3_ z*~qec++ia-C5m(5>Z+!!N-sLb4o?R&IYR{^j6z~!FBmFBk-jjPxfDrQERy^cUPo4s a0ek}a;8PDX57Br40000oZx=9M5{L*4@ZI^AY6r`xU*%8y$XbA9Z{48`8glm zi5}R*Y$&kZY`xGH=)%51)uwtRplOzBe#*6evd-2}hAM1^0n#jGF<nR?RsmWZ$G^u)KupHMOh%FAR_N8973BIfQWFHJM!=VyJ#14h1cK4 hqGOmh_(@C-J^}57k=cB`rsV(t002ovPDHLkV1k@5bSMA- literal 0 HcmV?d00001 diff --git a/resources/chamferall.png b/resources/chamferall.png new file mode 100644 index 0000000000000000000000000000000000000000..c90b6740ee7c5d52d46bb167e5cf423353a41e44 GIT binary patch literal 288 zcmV+*0pI?KP)p#O@l05vJ<|^E|H# z+fb&m!0ow(vM3=hayLV@OfFej&-M)I_uJ+Vfk`NM@-;TSf5cXMoIX?wDC82;)TRen z-ad@MY^Z^;9TgdT8-eVmb? z!0jjLCdBmEKEO1Nxv|aE#KhnVv!NY>aq8P&TmM@|SV&k{SZt_}%#bkjOJ=d=VY;`! z^8AN~r`g-&?duj)_ORstb2r+tbZx7nlS`9hfQ!K8(`PU1HNM=x{+gjdH*2El8Z&SH z<*v>4H+vkIBR_aHB}s{Aw5V2XIdZ<~v_gz0TNamv_`ypGar(k$JWLaKnNuzO`25%c zzA0NTSCCdapv-ViRYB@7M}Qmq)3f6FaRMeHcMa0R)7^RuSS)8xZlCPP#KFn9!MxH! sqKUb=P&_^%x>3MIxI}Tw2`4rN>CH|n-#=Jl3-mjKr>mdKI;Vst0NvPR`2YX_ literal 0 HcmV?d00001 diff --git a/resources/check.png b/resources/check.png new file mode 100644 index 0000000000000000000000000000000000000000..fe4a73b08cd88a6c0e1a4f91d547871ac9a1dbc8 GIT binary patch literal 606 zcmV-k0-^nhP)BjU5XXNG9`1n*5_oX7W@{jep-Tc8YLlT^y(Q4aw2=B67)?c_-=WZ{q+7ZK(;--k z!5$j$5=b{^iw6%6BG3&6bx`zTH3<}&r3Y_%cfb4J|MXNL<5^?vd2#<8P->DD=c$6| zQ{-~?_xB&ZLYJQ~wG>OCB}fQ28X0NgBY&_q#H z#-lM|Kg1>$O%#^*b@3?1CYHh3Aae@!Rx91wdIlgKg#8dzCDoMK<&1a~(>v;6ttHhI z;~9LDOm>d5wDlg(Va_Uk|F_OcAAfR*5adj;J7&$tQ`11LSGuiii zjAsC7ZZ+@6titqiO6yIFupj1kcj16ilPvxbBO(NTkSnMM%&up-B})ZhzL?W}-*uig zx0=|*x<;ifr)lagf_e@;`FaAt;oHNKH3i6dDh3fL166YsZd_xCM=`D47CXB;H0lkE z7^vbvKo0Zrnzhxgor8{p8)KYD-FICY^@dwY;iVCiZ`=3rJ)iboyHZ*GeHAZZwaNCY zZRU$PX_BI<1bzV3e2Ucwpp*g;0sXMn+;afHZu5XB zMFfw4)#<9IK%ts@j$++`bMAq?9{v{w0L7|9bIU)D43P_2OHD+>PY(+f zrC=6l+&!NojDP-t7_{3O1DCbbmo`VS>R=A=N>)mF&Ze5~%3JS;1H6)L85qj+MrOV> zW)C5vpoh*7L@7qxP;%0(*}r&FEbw^PGIMDo&A2mzoCJn)?^a4msqrTZfV<7ZM#~*g z%3V0fD0=6gvuR^FOC7Z0WfI-W?mZ`twffs tf@n?-MU;YZ&fmP2F>Kc1TelM+qhA{E&LCKUM^XR)002ovPDHLkV1h4ttRVmZ literal 0 HcmV?d00001 diff --git a/resources/circlepointvector.png b/resources/circlepointvector.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd0e4aed0361b14d436e09871985a0c9ba1b5f4 GIT binary patch literal 346 zcmV-g0j2(lP)t$2iVk~A?5D{c51z^;$3)ZK2 zTHsvH!OYN3EXyHSp5^r>%YkMV-FI9u!1cKWG#^dIliG%A3S$hmwx^w$(AM&5nTT^a zM<@s#zeJa*O{ikKDTn<*nb1%dLsM{n+yMX-kqvZfQ`}-NtFFdTL?Cj2A?Ofkm`tVc szMf2_ARk literal 0 HcmV?d00001 diff --git a/resources/common.png b/resources/common.png new file mode 100644 index 0000000000000000000000000000000000000000..ead31c848b72f295ccc11b3f11ba03ab88cce221 GIT binary patch literal 267 zcmV+m0rdWfP)w zy$QoG5Jo=*6(?|^(o=W|lVv*oK_l$mh#-v9@a}Q?bK5$?0yuls^Q%PdU4LT~loUGL-8b#}MIz zM|*02d)spzk|vnKphPL^>>Ee~3kxFJ2l)8~;W@DA>z#jknbYk+$efzO-~pu$MiD_7 R(6s;n002ovPDHLkV1g?IZifH> literal 0 HcmV?d00001 diff --git a/resources/cone.png b/resources/cone.png new file mode 100644 index 0000000000000000000000000000000000000000..a150f54cd4b7b1150124eb83be1cc3afbea90c21 GIT binary patch literal 406 zcmV;H0crk;P)s5Mj3ve8tM7 z&@t-%$qGV#^_vfG-aN*`a?^Bf%l#YZwI9sipofiE#hXNftH4P#AfCpkDqG#6g>rV~#n*zT=RI1tHVy)ar!fE`LRY$oFXy0$Fq_ZF z))}vF_1!wioe6^w2?P--@1aSJbu-EG3@!Gvxr~S)zR(MMNFc{ouKY(#YOJb~Z*nML ztJ_jdSGwS{?@pv*4=dteEh;+n07*qoM6N<$f+j?{ AaR2}S literal 0 HcmV?d00001 diff --git a/resources/conedxyz.png b/resources/conedxyz.png new file mode 100755 index 0000000000000000000000000000000000000000..f8ab8e21df3baeefd5f9fcd31e43f9cedde76526 GIT binary patch literal 438 zcmV;n0ZIOeP)a2Ap0 zqE1as(nj!Y^W`^hUM6Eu{bfN8F3)UBHPUag^ssqgj+)hU1MUD+E;Ou7iNU1QjXtjC_e>c9@7TkO30Neurw%qR5Hkk07*qoM6N<$f^Z1pw6oBDh!NV(LaG(@=g$})h$yDgjKu=IQ^b8#eF*$+{QE)nxPDYpLkVAxmJp}Rw z7j;M!>_kpn+6O`io<2Puk_?W2jX|FzXZjy|67*PK^dx8;raAu^#8>t&6&hTcEdWTf z1sGiZmOES6PP`jzU_R1p!Q^g2wW{bs!(agGiyneo%u(+K&{`iu2m9DG`@~W6y`1j` z&{{icrrBo@jrK7QL>KpslU`cudie^lMX$-{IkvDa87C%c?BaVl--E*8b39yrl>pen zxLq6cO@yPWe^x@OW75uIer1_r${(844nD_(E-Ao$pCmm1w=`&3=do z5(%StgbX)mGEPkJ$=kv@Ri#>0P{Uf+2RUbQ1`(U;L`cTT=2trQhj>`)K!uUCARoW@ bi~Ge7Rb%2TJ5cbl00000NkvXXu0mjf`?|j= literal 0 HcmV?d00001 diff --git a/resources/config b/resources/config new file mode 100644 index 000000000..692539760 --- /dev/null +++ b/resources/config @@ -0,0 +1 @@ +language=en \ No newline at end of file diff --git a/resources/cut.png b/resources/cut.png new file mode 100644 index 0000000000000000000000000000000000000000..4370b7ca37325c722d3d7f6ef4f6854da2798ba5 GIT binary patch literal 283 zcmV+$0p$LPP)w zKMKMy6oeBqXi=Stu|sa&Fff z)xB!q literal 0 HcmV?d00001 diff --git a/resources/cylinder.png b/resources/cylinder.png new file mode 100644 index 0000000000000000000000000000000000000000..3981e4cdd658816f1e0413774629552883ea7716 GIT binary patch literal 330 zcmV-Q0k!^#P)w zF^7m=7ElD7Z?Y-|Ul zbn9}y{XE~}83m6?*KArGkVO@h$lXJ|2UPH;Y@)oaTKMWvfh3lz&&1AvI&EN8G|ADjH! z{6k>0DBW=vKlHJA57-@d$wR5jf|gUTF?|U1P_J}~`7+_lLc!`#p;#w6n+a07*qoM6N<$f(lZOi~s-t literal 0 HcmV?d00001 diff --git a/resources/cylinderdxyz.png b/resources/cylinderdxyz.png new file mode 100755 index 0000000000000000000000000000000000000000..fa84a2ebd059b20691c279d5406891ebcb61ca25 GIT binary patch literal 389 zcmV;00eb$4P)eT3IrFRL<&Ws%^@f_1VT!RNO7@} z*}q{~#~!a2k!fse?B_rB%qTK+QtNfuWK{QSqre*06&eL9L&_dwmV`-;B75BePeQQl z;iFmKj>%r%sj*qSE{K_FaxpoA_o6Vt;7_M1ZFgJBSGj2iLP4qM81OFoH(whMDuxUN zE>!XZ*5^LyM8`kH4%<*szJ$M3YfXE-CoZ@>ofx(cA&zJC_^UJ>h0kaReZ|Gh& zo6V_Cd%r@RJOr$9HBkJrceJb^x#TTq4Rm4IeOAp!XCu10x&EznF=UigI&I0r9~epx zdH7cDCrafvM4MVKxf1^T_*5k?^365ChJzvTfUCI`oDamfUgihb?vT8$K^b6x+6^KI jtf5e+3qfJRVz>DQsO*!lyE>;=00000NkvXXu0mjf`O~I+ literal 0 HcmV?d00001 diff --git a/resources/cylinderpointvector.png b/resources/cylinderpointvector.png new file mode 100644 index 0000000000000000000000000000000000000000..524074ac7a15969877bc9653ca1b88705f5b4245 GIT binary patch literal 384 zcmV-`0e}99P)-ZRY7coNvh&tGQ`l$`-^UexYi zYxMEm`;PY?dzPi-K010SrtEDR+fuoYU(_z#P9-sdP>`n(~ z(TnA~o0;a7Y%b2y7y@=FO=WlsWC(L{f7{keNn_-1xfke_EK7-GV;8rz$q$T(5K;&V zhO+Sji3rEfoGq{b0000L#cK@(5tK^L4Lu&#Q&e+_cp#@pg^Rji(^Q|E#GsETnvgF%oh@G z|NsBVa=JU~LVs1qNz3`)HwMdQavt~mEVPW{xMI6d(A$KBu1e__8@xUpahmz;vqPyE v!~ecD?K;;U{BCHMV=yw=saPV-wD17?vMOc`V~)i0paAxC^>bP0l+XkK1JFi| literal 0 HcmV?d00001 diff --git a/resources/display.png b/resources/display.png new file mode 100644 index 0000000000000000000000000000000000000000..24a7c9e56badb9cddd51ab30a722d3b9a770df95 GIT binary patch literal 285 zcmV+&0pk9NP)#}Di_ zLx7Eq4SrLOpau{Nnsm#wYq)gQWND$fpD1VJaz6`JMSotc!W3+1Xn6AM3332q*UUg% z_~X<}(EXe|oTT{~4qm)@@%_tp7Pw2uFoFf*J)j?eE+JJj)Y(Aa1N}g*W)2Pk9sve$ zN&q4foDBrP6az%S)CX}tJU)rC84gHtKYBca+|K}VKQZCYcmzjD0&zbuK5^-k5Rt%{ j!XWOKV35G202n&}9QI!`T9la{00000NkvXXu0mjfl{9m% literal 0 HcmV?d00001 diff --git a/resources/displayall.png b/resources/displayall.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad928aa77ad7f8726aa693988686fa60af54da6 GIT binary patch literal 268 zcmV+n0rUQeP)p=@ky@T)t5&4Da%R`aw=xOCQL>AigQl7oc<2-vyUv1o=U!lger zC>Tg?-Lw^_W*}&pb`6*Qnk=mkA3gvXaQj)XD#E2dIxZU7eip2Xh_s)DfpqZx!+W5m z0t^D=X#Vi!0|yvTlt`$g8BZh=&^;b S<9mVt0000KP)cJ>xaAiRhS^VN{wyI+$<9=}x z>ar(AM4r{$tt5*=DOK>T#E3~)zJh;uAD53o5CDNV^YHxi>@N}~v0v@%x~?R|Bp37H zNzXs$yxG!BEBngAX^6Jbdz9yS6O6VD2$?Jr|J8@~M&9sc$osW{A^*W+f0-?znUskj z#qDluTXs|0%-@{lVSnh{cm5bv-TXKEO^bWxL&F*1Wc{-?g3q0CdYs`u zolDrZyVQk<Bf3_>?TT?k!RvWSvfcmt0hS!5ABf;aF2LU$p}VrYbdOOIivAd*U9 z{F5isIL?^p+vI27eDlw|{GJekbyW}q>HP~td~>P=V-E*?ND>Cg*fpm{mSt8lNfOlv z?*}P_;Cf#eh6afhrIhD+ias^QGzrDqyNjau=BaAeFP^dV@+w~BnlxeUPo8>___WdU z$NBbsJ2)CZTL#wlrz)Sy^e%-huCsbxRaHgn&S?YCB46b3ZHzjwVZN@Cya zVzw-o(3;fUwOr%5BR1kLXX337k#Ev($_ZN^Z&Y`}dcmDOPB@C9$=T%p&OZ15>feHW ze|kP0pN#v%`)MO_6uSQY=C2}uWC%&X|1`S0j~zecPI&Ln>w{dL!{Z@lWDf~2r0*9P aB)Xs5l9vpQ9Y~e{0000f3CRz literal 0 HcmV?d00001 diff --git a/resources/fillet.png b/resources/fillet.png new file mode 100644 index 0000000000000000000000000000000000000000..d5af8aeab071baf31adb9227e5f4619ea0632cd5 GIT binary patch literal 293 zcmV+=0owkFP)%aDku0TGVu4t7~EOeU>{>X5MT&!-}Sq#5+AmW`7Ulb+NR|+ zO_5*o)zqsAeb_cyYv`ATYg*fiBMtzrpEb8l%genal~h(1MfOwAmq8Ce0`y(aruu4! zF5CyxM8E_Pk^Q#&uq&xhNwxb<7(jV1G1B;fLtrT8A|e72*`E^xT~i9o>)Fp#O@l05vJ<|^E|H# z+fb&m!0ow(vM3=hayLV@OfFej&-M)I_uJ+Vfk`NM@-;TSf5cXMoIX?wDC82;)TRen z-ad@MY^Z^;9TgdT8-eVmb? z!0jjLCdBmEKEO1Nxv|aE#KhnVv!NY>aq8P&TmM@|SV&k{SZt_}%#bkjOJ=d=VY;`! z^8AN~r`g-&?duj)_ORstb2r+tbZx7nlS`9hfQ!K8(`PU1HNM=x{+gjdH*2El8Z&SH z<*v>4H+vkIBR_aHB}s{Aw5V2XIdZ<~v_gz0TNamv_`ypGar(k$JWLaKnNuzO`25%c zzA0NTSCCdapv-ViRYB@7M}Qmq)3f6FaRMeHcMa0R)7^RuSS)8xZlCPP#KFn9!MxH! sqKUb=P&_^%x>3MIxI}Tw2`4rN>CH|n-#=Jl3-mjKr>mdKI;Vst0NvPR`2YX_ literal 0 HcmV?d00001 diff --git a/resources/filling.png b/resources/filling.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa725c328f18597842679fc1865117720f64828 GIT binary patch literal 450 zcmV;z0X_bSP)8z7}gm8A48ND+x9Xtv=sq(HI@is>c= zjQQCHUTq(r`|gYtj;qHhoN}nHXYOu+&GP~j&a8|xE7PcQ6|jcw=5PH+wW(-=UTx?n z%L^VK98WO>mU7eGX~Qx2tepi2b+XQti`KmyrDHou0qG`<|GW2YiQq@(?@S$r=j*CkKS zaUIcv;CK}tdf2`M0s+(;G%Mq(O@-Z9%Bp1g`f>(pwBE%X^an)!Xy0-&Oq32aT5F&qhXg|7!8R-7thJ0Mw z%?X1r7>3`pIeY;RIh5iQE+Ji@V>p5+1S%b&TUdAL6jB5)1wFK+Cq=EXHhSxOOFr`O z<;f3&#;V}}0A_*JU}hkI)8#gs6$c*DEY-vbLQSM7*1h@B4qx}{S6~!I-Jx!r8n?XNAB`}j`t`0;Ylp)$POTjd(>PrX*yIm^?J38B z*DENs1gOE%EY)REA}?}8VKjLUXLU%NARGY~u3c*%Kq5#;5YZyw_)lo@KPKk{?#?wl ky@AtTVtmUsPK6`z1}Z~FboEA6U;qFB07*qoM6N<$g3VTO1ONa4 literal 0 HcmV?d00001 diff --git a/resources/geometry.png b/resources/geometry.png new file mode 100644 index 0000000000000000000000000000000000000000..86746f0b0b64a734d647978ecd8acbf194569065 GIT binary patch literal 238 zcmVQ2v8hb*ieelhAwBw zobmvm0|%5-R*0-8yOd-dl3iWc|n}+09pY<=6OLh1Z#16 z?KIKV{B$XE%6079gC1F=_;%(6?5GUT?%mC;z^)szUA;hOjJBM5t;g6GXi|5zj~)^c onN({s5giNEBE=n9%SZj&-f7GpJX3yI8vpST5QX92fx;VPfmA87KuVNh*deK$8DNh{G$1cQ!7MH!U5Wrv1SGb>(n(i+dS~el z1lE=*T0y|pRyM_|M2gYs-M?R1=l(UUajV)|xaJ zD?7R7M`aJ6F$XNWWGX1(h&A&V;6Jht<_-E{USJ6J7YxOIf-%@47>i9og{;APV$#iS zfDiVS&=l=z40x~Jcr_N*$rl4i%zk=;Vln7{ZYvBRvFGhDfESf-7;A&y+Bg6J002ov JPDHLkV1gW&W%d97 literal 0 HcmV?d00001 diff --git a/resources/line2points.png b/resources/line2points.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a295c477f7c0e825470fc094d2723cb9582547 GIT binary patch literal 259 zcmV+e0sQ`nP)ST5QX92fx;VPfmA87KuVNh*deK$8DNh{G$1cQ!7MH!U5Wrv1SGb>(n(i+dS~el z1lE=*T0y|pRyM_|M2gYs-M?R1=l(UUajV)|xaJ zD?7R7M`aJ6F$XNWWGX1(h&A&V;6Jht<_-E{USJ6J7YxOIf-%@47>i9og{;APV$#iS zfDiVS&=l=z40x~Jcr_N*$rl4i%zk=;Vln7{ZYvBRvFGhDfESf-7;A&y+Bg6J002ov JPDHLkV1gW&W%d97 literal 0 HcmV?d00001 diff --git a/resources/lineedge.png b/resources/lineedge.png new file mode 100644 index 0000000000000000000000000000000000000000..66a8d5eccbb7492cdee1185aab809fb583d2dad9 GIT binary patch literal 938 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU}gyL32_B-8UFu2a^%Q=5Ni~S zhQP=Qf%9ya?0`OIE(!7r{{Nrh`YB#VAUDj@#WAGfR_+B)J_bb&my3&b{GWT*M1DhR zbEOK;sdpXvuM>qgHsB>xe_F~rKeKV` kIn6oc=Ifq*KmU0?yTVMSirYW07lMM=)78&qol`;+08&&#sQ>@~ literal 0 HcmV?d00001 diff --git a/resources/linepointvector.png b/resources/linepointvector.png new file mode 100644 index 0000000000000000000000000000000000000000..054bc84625c44240be505a1a44ce6724686bac3c GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE zt9re)nNG3v*DA}d+KAF~599iBF0`ALHZS{xarDKLTSo4C(WhOG4}D}??@Ddtp3S)4quXQHn;(}d=OTA$MA z@KxRjZ(VrP=b&AJCeH$+-$fEWwz{p1A>Tsym@AmO`$caZVB7l+=pzPCS3j3^P6u zu?>ST5Jlf17oLVCP?li_s_c+0PU_C5os#w3)FlAzwY6GlwANIoDufHxWkgqQ>J2>f1LHJejEOpXHxvQ7Fo3S_n5P+Y z_ka-?fLd2uU=R}p#$+2F09`;#uvdG7fBzr;A@Bh#EJ*na=LpmQ0000u)u*wO8nX&oYOyE&qNUn1*sX>P9uJ^G9 z*mf<3et?|iHNcqO2vks2=95xY=GcAjqQK}->SK*!dxefLW`GsEsJT<73> z4-o+~BTF-Ida=!11O+r^;wMB3dI;5=8Wj=9Sr9Vx&ugpi@&0`guCr*?Q@sR%=8+fBCv zF&jJLOfX27ZPGIIv1dnTOmk1yLvC3;DS2Eo z`k3_c@Oi&|zuoUM>E;@lEL%cyWFhb>Q8vMAgTVmnSG=8mklNbrp#|;P>oD68U ou=IZ(t4c0;s0XH6FV*{~A3*Wf4z^5QV=BD(2vd6{NV7Ddo<8Atsecqw8Wwbr@_?8C5~0$xleYs4^(sIpCnms7=ar zRugb(6$iV;fu;~#iu0~drzlR5Eoa`$yqTSO5jFqy^_~Kpf4&VR$0vKyQ}|~)JrOlg zhyR0Zely?M*G5Q}&HQFw|M>MH_|x8ZVu`t{_G#n(Dd8Yp1iMy>brx4SOk!}oSF~}` z6GViA*9Xzg8QRhkOU%)`qhOm{Oo%1MRUKRsV=zGHQ^u!z6juedwB*M*0L4{-^aNKq zj@~xOXV)`ytz^TD^N;7Gq=*R6{*;KCng}447=Y>J6jepniil8L70n3NimEcboHG6} z4)`#`?(DK*#`Mb+Ah7amf#AP$kDoJ07nsCsuZ>m;fQW=PeDc3NtrSj zo~1A53wGnQ($?BU)RT(|%W_HjJS9KQLyJDyeRQfoHdy&t#uA6Pz_5E2ezDt0J+sAfuz^!mST{v?Udl`JbAwHLX6=L?CnA`{ z>{c6FTKcBHakuSr?Bam!(;J`cMa9>mwxuOMec!PDbQ}D>eSayov@D%#RxD{c=n53G zZ?oD}j#ahVQWmc^p|3Tpbk*E)VmN$rxGfGMg29BD4U$Dro26^irf>Rzkt7n-=8p{9 qZ+4z^5QV=BSIoi{d!XXdr;$39X(OD*qzLY;)&y)!et}B;1_y$xfYJsmt`cgUe_%BR zHG!xQ+!hPBh2UJQ?sRvOA{Uu*_wDSP_hu%b;J-$A3NZfmRDC(R?ggjtZ;svs6a+2) z+q3y>ezdN}lQx_AY+n3+ep}rq;Uh{EOWUW8dsV`2vZ&6Tbz~;PSc8rlYQBWc^PZn8i}dcO~ybrAYw=bz4l%C@qCZ4Ax^!T5Pc#94>I?Dt`2 zGT77($|Nm@hu%5sYHbrx+<(7kwO)~Q65>wG#pjEYlhJ-xF-#v)uD)D(GsK(mnq=ui zN@b#`orWU9`0fb<7z=&9JesF6@eW|Q>(fYf4BM??tRbDI|D4+r2OyCgcDamfodK}? z)2DRv(6-6e8L^HlQq4)Z?gizf+p_RLRlL7)Ht002ovPDHLkV1gE%6g&U` literal 0 HcmV?d00001 diff --git a/resources/multitranslation.png b/resources/multitranslation.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0e54b6e9a0a0b50aa4d190d6d006b29ed997a6 GIT binary patch literal 325 zcmV-L0lNN)P)}aNSgw!&F>_beC6)& z7``VAfq%`*W`ZGL9&06YGod$N0!D)!ju!w5lZErgxzC=5E&_Y7m|~yJe{wJcbu%Rs zU?27jbO7A4Sd03;Dy>JX7_z`CiiVi70gulb;=r+z)}J*{u?-+prU*l^AyU1w{O zMA#aWI&ft2aJ-Pebta)J-lmovyTOAtwMZh2vnWL~8PCUODo``2Wzn)`QcD8sO=|f8 XHs*q!?SfN(00000NkvXXu0mjf9-WQY literal 0 HcmV?d00001 diff --git a/resources/multitranslationdouble.png b/resources/multitranslationdouble.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7b91d5bcd9b0d55d83bf082469762845135db5 GIT binary patch literal 395 zcmV;60d)R}P)1pw6hNPg2MIJt&>?fiKy!)E1GGLxdWTHDK?y08Tp@HQnM#%(AsGXmJs9M{5Dx)& za1tV0PD-7>>GAn|>HV)Do~=s`F&Pg7fcWii%olggDWD{vyv7zEi*ot7ELUGEHx~%c z5A*jqQb>OC%gm-0sU#ZR>~Jz327}&~$;*%=O|Y4zuQv46<|5nWJBoebzp@Ag09t8; z5KixHObXd3c1jUK5YN_FfISShcr?ntdAE`|(Nt&RQ#%KdnE0^V&mwDgt p7$Ou%CF#+t9{rGQv_S~rWxvfw93@F`QRx5x002ovPDHLkV1j#`sN?_u literal 0 HcmV?d00001 diff --git a/resources/multitranslationsimple.png b/resources/multitranslationsimple.png new file mode 100644 index 0000000000000000000000000000000000000000..a33c9cf144f2aea48c57fa73765d5c759d3b3263 GIT binary patch literal 284 zcmV+%0ptFOP)ST5Czch$i*SiAW?V*)<78`Vv6jLGCO1nivf_=$P5%nrbt0|DFO%-Te1zmK7HNY z6JVSgd9>j9dao-z?v=P4E!;-8noljXgM~QsLjeXu=vK2GEc&5G`i66v=?nuvMj2G8 z;!t(~TnW<|o~8)^KskYON>|pc<`LtsOcIC)^|ek{wu8m=nYWwE07RfT092_^lm(hw zBbKqS4Ltx^o`EFoM!i1_0a$()RJe@~z%?6mvJb!&H%cHt*oF}Ru1Fvqz+1RY41g9C6vn?7F+3y>Mq)KY7dc1Bm+`BbYQ6D4&je6 zV2QxD82Q2P{jvE78nbHQ3ThgkZV*_(#zF^yq(SC78F;U}!ARArtL2{R`+)?#-kyLs z!g_n^eIpy#N3J literal 0 HcmV?d00001 diff --git a/resources/partition.png b/resources/partition.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc0b8d35f5545dada0cbed28a8f5ae1b77e5077 GIT binary patch literal 335 zcmV-V0kHmwP)U6h!B*T#O|bj+BBkA4NC*V> z`+xA*0*8-Ez5F5(r5t1$C~(>NI?GA-8vsCl$sH9z5?@PTeq2>nxc%Kw*Y%*o)~2sK zrGC+(ERY}p$?N zj2dZXs@N|dot*h>48Uf)DZ~~;gr{4uaJBCh zHJ^DptncJtYoa2Wy+ zi~{_TUn(?o=-!Y9w1SBUjyQ-drNZ6!uE?^C$@}DPi*=aidiWzB&-I$Gp0OV%aWC{5 z_WJf}H8#cA4+wgJjyQ-bXBgaAJrTjfLqz%&R*$NI0sH~iN`*`MZMxwA0000b;@5Jlf27h}nVEm3d^E`f4@h+A+5rwYjta*I$TA`S8-xC9LnTUcTWq)lO)*vr}` z62I~8X!mLU%&ZNLhidXz97Lg@GdSZgouCPL@y`&*(A5`R8&I!bKlZr#+r+ouTUYFg z>)A;N7TRAS-rib^EiDbS12hiPSZ%L|bT}T+Qc=~g|$1@y}h>)cjX_B&d zT9^)SsCId6G4~qbX9uk+^*y)H%or-mv+0a%nz4LdUhfTB?i;|N!5jqkmEbKfE;qow z%RgV+Aj}_^M#0}#TOz_{^U3LW!j=|P5fRcPMH1;W1V&$KrD9h&TUxZN-fb)~l1OJ< m{snBHs)}9|iK@(e7{D)~BasZVJ7Yxv00009TgdT8-ee7X4 zVWP!;fpmp421-1t=MMaLSUe$fRmDsXgCD#p2URcH{1x(IxnlGpu|x2!Q<8~Lu7YY? zqJ+oF#5wV0iabZsBXXz7arK@y5MWqdo3(?7ry=mn9UVX0!z?T;8s6 literal 0 HcmV?d00001 diff --git a/resources/planeWorking.png b/resources/planeWorking.png new file mode 100644 index 0000000000000000000000000000000000000000..d64aad9b686b16eefbcb98c58ca4a80bedecc2d8 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqEVQuGh0?#J&6JA}LDtte!0(7o}r z)Zm5iJpP%@(Z0#|nCE(l*xJ6T-lY}$^DO7_q<%GfgCH07uh)8C{hCqRFezthaci;D ze7F1p{%uU(lTLoNYy7|A)1AoUIoHB*twgmdKI;Vst06L#*fdBvi literal 0 HcmV?d00001 diff --git a/resources/planedxyz.png b/resources/planedxyz.png new file mode 100644 index 0000000000000000000000000000000000000000..409d7e8d474332d650ffdcb862d168dea279c2ea GIT binary patch literal 315 zcmV-B0mS}^P)bgAs*m^L8UU>c%OwbSg@r(afW~5O*O!4!^#6fTRUlpD4-H64&Yo53 zFyvt{@Duj;aqfzB~ZDlRcl#TvO`Ov=@hImNThvIG@fS0+VKb z*r=B<$@0p0eA>881gcuz z)w{d>;egfG(#wmZ7*$1DLbua31`FHW))qwp=XyhB4n-UcAn@A^*AK<`R$~s@EiM26 N002ovPDHLkV1oDyggXEL literal 0 HcmV?d00001 diff --git a/resources/planeface.png b/resources/planeface.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab9ec62a1d7589de82ba2925c1dc44d3f12269f GIT binary patch literal 368 zcmV-$0gwKPP)1pw6ox+)4Nmc(!HX{8I|PrRCkS+J=FrVx$W}79CkcgKA&?YPf5lWHXp~pO*s-9YSdxM#+U|Q z#lq@Uc@sAQ%}1Z3_~le*vk^ zd|78mP)eo0lt~yJOcxqizm#J4xigpV3(MzaXB}vNTJpy{3R}OfU6}y7&}4abz2z*+ zx|0gk0Z*+P$D|6yOwPLfc}6v_g!EzdB!Khj?8Y(aLOX}myb{n)?F2B3r-cA$4vpC# z_LIQzb>lTK7-*Wt+{DLPpX+)T50a8#78Jrv_?8oYqF!}_=lxg2UHt+~C|XEw$}B(4wVn7(Qd98f+>*ETKcrUpKN z>ImbMhsI`Rh)8&qDuIZAQ-;Y6sU8CW%{mx_>eidwbT87`U%(f{8a~oYCyo370000< KMNUMnLSTZmLTv^B literal 0 HcmV?d00001 diff --git a/resources/planeworkingface.png b/resources/planeworkingface.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb8bd46eeab5430f7d5868a152d2575371e898a GIT binary patch literal 378 zcmV-=0fqjFP)1pw6ox+)4Nmdk!HX~9I|PrRCkS+J=FrVx$W}79CkcgKA&?9fm7Ba17Z|N~_kIRU$pbKxU^Nu;au@a2-Qg%KARh*8$)Pf*WMJhc zXaBYb4ca|`xz1b}XJ|;0WZsWG38R5!X@)Lea&`DT$nE>a`gz@02kM`i_%RN`wy#@T zCP0>EL~(RK zGQ08YWqrZ9Vi6soJIcSu?O1qj-MJnS=^u}e^Dnyc&_v+w?C0}N2&F10@0+u!{QJHC z_H};}EWW!;bL@O>6f>u}y}7Zu6^NUe5C3kqzxm*+kx|6%I^CGmf&_!78_yg(?NMQuI!h%gm_gL*KWN8Qo~u` z5n0T@z%2yAjF;}#{Q(NHq&xaLGB9lH=l+w(3gim~_=LDNPrI~t*WRt0wys^b7RUw) z&)HO52Ba8Eg8YIR9G=}s19Fl*T^vIyZmm7<$ag@2gTFVdQ&MBb@0792rssI20 literal 0 HcmV?d00001 diff --git a/resources/prism.png b/resources/prism.png new file mode 100644 index 0000000000000000000000000000000000000000..fdbe72eac5ff95bd8f3b99234f27e5370ebc6b1b GIT binary patch literal 315 zcmV-B0mS}^P)bb-b01slEwswLS3E4s_T0Oo0?DgsKq6%0cV zY@Ei-lm+ujG(=V7u#MslBY}Hk)`Hd^?p>b{CRl&(6AlyZv{Tbh6$H~xy@wSA9{4E> z==AdLokhhdhfaQz)r+}(ywcx$9~kc77PNH`Y72AD#T{y=mV=~VZPUhk_$ciBe2y&1 z&b5ib+NO=C58s2$)66)HS!f8mzFj5SLsvQKrsl#W3#?s@YupM0_yHX`X-IO8Ib{F< N002ovPDHLkV1iKaf=K`X literal 0 HcmV?d00001 diff --git a/resources/revol.png b/resources/revol.png new file mode 100644 index 0000000000000000000000000000000000000000..887d64038238bb63915bfaa0108930e9869460d5 GIT binary patch literal 488 zcmVP)pf&JH@mQ(9PpUtEWoQ zQ-r=_MG)OGO98n1QFOlBCD5;Je$x3!+c_)-srKNvOOiMl!NTwT-#xarXSzJF`=9qL zlEtjX)|N=3{?$8YH{WlNSY|cOIS%g70F7dN&ActMw5{L6uZPB|n0%nivy>vJbDQ$- zZOJ?PhtFTX09`XggzInDl-m-3a$EA@V+Sn)T_jOAht+eXwzjz1vA28N(E*Ue35&Oj zcGkSkH^DiFh_t%iU{}wTI_I#pg=6EBSh)Ih)w{#t;Rkmhk_d?#=;Y(z!9JC#JL@&> e=#UF(b^idUQSZ~<8ND3<00003`GS$u&kMsT4wFi--XA-D?lAl{%5R}Se7TokV$1xr@NOLz(wLS`YDMPa&_ zPRztn+t3#RA(`))XMPzp{x!X>g_`+QIs%@|OZG7Z)l*aSC0Hr^r2SE<3E zyL9IOEl7(QmaDz_$e@dlLhn9z4%}zw0^1;P+JfYMuQQA z5J;a>ui3@$4s0=x0RUB1;ar_jeN~SH(UZBX3)_*o1ON~b0t!H!8tU*a9M4`dCLwh; zkDd8j%;O7?6Tl7F!ko4&*2T5}5t&7qJWbFvbzns3i#|jskW3Tio1*1vk93woofNn& zipCLSE|IlhA{3yIE_QcP9!q1GOcN$TfoL3I{k8@X)v*4cVfP@lp@rIg7EoXeL;5ug zFuTDyDb`eopXU!So4=pdI~6jQ-EN!B`$m_?5{KjA>L2&Ce;DF~APg|X@T&Y9hR=~$ T5g4UU00000NkvXXu0mjfTI#PR literal 0 HcmV?d00001 diff --git a/resources/scale.png b/resources/scale.png new file mode 100644 index 0000000000000000000000000000000000000000..4c898723589885bc31ce539eb6c09eba5320427b GIT binary patch literal 302 zcmV+}0nz@6P)NklZq}6vpwtD~1=T11I4UD3{3{n0klaf<{W^smdjKiVR3FAmJg>>r#qIj6+<$(ZG+- z;u(YTT+G4~iius0VsG!?v*qeg0ANq{32*_sMT4MvtLAqr7<38q(U)ME5lKi8RD-6X zcc71@pfm74&F;W0uo<`oHUqcHG;#h!hT5(?0@--8KeUx8)SfINLb)%^_>%fqYumJ3 znoFc1;S*3D3hIxV{5AhW?WfhQ?-=^wLBoZ#O$)&J>#XIzG$KMyj)w zy$ypf5JsOPinByP$rLPsGE6c;1QkPM3dAl8Xf{+*jR%Gb%m1p0R{rsaa z?3w@o<$*P*b)aLyVicyVN+W?FBBaOk-5a?2T!?eonrNum067=ci=VX+do!eWR literal 0 HcmV?d00001 diff --git a/resources/select1.png b/resources/select1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a4ee1d52bb1642c35e59cbd98a6d61e1cbbf3c GIT binary patch literal 975 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU}gyL32{Ag(XtH+i|A$>yGTanrJv}Vn71?{kepP$n8jbDQ&9P6{DSwHJ5&6t;zVEf4 qiTkGBoX&*C49m@7VrQ-I`_JRw<#IIU%bh(S&w0A~xvXkH z4+cXLPlvR6_M6c%0>eY=Y3P6vzq|78@dgus+9?3$&vWs&gsrR6ETt$5RHE)C?gj-W zTJ2At(Q41)eSt1DTI+jW2iU@{(2vDnN^1;uozw?F?Ud=7=NTNpE>VE_iw|7P*&xo~ zNURG62m>FvmBzO0R?GjWJj-!hXZT@{tu#xi%Ia}oQ-k35G9nE8(O~Zk!@!4SG#YBE zGhrC`L`TfFZQ^x2I^_-6#yrM2wy4XV`Dc1onDtB0PC;#)D*EO5)(p#h4iqq{p9)gB0t% zDccT5PR5afrGa;xSYh7sGcdq#SgiMG4;y>Y`{!f8_OMAVN)=PLoPyocZ-D~0T27O| z)pCmBtI&&SgVlG1`ND>tVMGK^9+X`kwhAO7l-qLXRc2P_O!5gRClFnLX2*s)NNggw z>Duc$Jb6&wL1!Pcp-q$jN~nV{Gq_b8W}UM!3;_NB#Mz7371Qmi00000NkvXXu0mjf Dn?apt literal 0 HcmV?d00001 diff --git a/resources/sketch.png b/resources/sketch.png new file mode 100644 index 0000000000000000000000000000000000000000..683ec72689f7ce0dcf98a2440e8a28fa0e1cefe2 GIT binary patch literal 398 zcmV;90df9`P)QdD6}HZEO4O4egNK?OQ6nV`D-O$Abek74f)S z3(lb|q^SE8m#>RAgpkT0P?e27z3moC>;ru&y}$`(Dx!#-eLj^=$`H`d5L4PbGAN?p zAVWZ(KhFT}iMt9lgesdq!BpAk>bsiXnb~i7`eUXF!OR|;2Awj8J5*DTZ6{u!30=D= srZU^II)_B$O*aGs9$c`GpuY5f0ZQWE?;sC|!~g&Q07*qoM6N<$f}9qx;s5{u literal 0 HcmV?d00001 diff --git a/resources/sphere.png b/resources/sphere.png new file mode 100644 index 0000000000000000000000000000000000000000..335570e2de6b872abfc4064cc3cd23f18c6bce17 GIT binary patch literal 445 zcmV;u0Yd(XP)Lozf%Z00lRNcG2QSnM=6nA&QVJ1m7Z% zE_7lie{4&gU6_|oetGjJpx~n8>arY|v$H`%{(|7|;1QZ9AGN7z5ETG+Wf|R!YIr?E zK+y!%;7P>tZHb6@u;0U9VlI7r7nAKW?An&G{=F#aHuca`4=d^N&*xUeT;G=|#}5&U zrv+*hAFM#`rKVA>NwX9T*tIP@a5{+^SGFzTbP@rexk3)A>i2M#Y?w}>vaoHqnpv_r zfU4|ukLK$Ca)4o;d{B^|MQ6!|;QSUoJ^gmuxTN#PIRJzHfL_0MnX@b+bfkkA@j<(? zKlZOFofrXgfNMu@`MxaTyBKIW%f}Cvm>?tFhhrMIy0~M|Ty<+uVcxl+IH%>%6uwU{BtP8$+e?@U9$hKK? z6r-0iX8CjOK~E)j)RljJd5LXbzx~jtyuLB4ey*_E;sZO0by8(tJ--|C@$)C{?^k5o ztkqrJn{C-`WX_gd+v9rUD_o>I;$w0RzKsma&PVE)MY`ilbb$kYeEZIy2Am>bWd`o#5gh}cYegHZ4*ZqM`(El zcQO%SA`?W556qr252^Tp2pj9~HFUq(723DZy;>$9{VytcHdrFh@ ziD>!MeB%OH;M*}JuL(&h4RG%i7)KvnMwG8}N(Ic!9?{eEsw{Mpqm z%IljkEuWU8JVhq30pgFKyE0!h$71Z0<(VcS%6(Bi?Q8*&s_styM zFFv(X?10o^>;r#DDMcH#A+=TJmPPr92n*U8&={B6GeF{S3%d(*OjvaKFxB_Na7aNI zbTi9n?!N4k^rQ*IIMuiM*XRI31^~83FL_G}OaSDZQfsA~7VUu6sDrT0zz;MGP(C0;+ldV*AOM$Lr2CA8 t0w8BPy2fcEj{O1{j3{>zdeQ>1egPPyxFwK+`q}^h002ovPDHLkV1mLZ$0`5- literal 0 HcmV?d00001 diff --git a/resources/subshape.png b/resources/subshape.png new file mode 100755 index 0000000000000000000000000000000000000000..6c75aa4bf06b4fa25aec8b30f2d5ee34331fc1ac GIT binary patch literal 461 zcmV;;0W$uHP)c#16ox+*9-aUV65zpS$Tf)M0M^!wH8SK383`XDgP|#av?&Dwcxm8kTv*Pcisn$VC=Q<6C8`A{*{_ey>3yKWAtdwLTg ziX%h>i4PgtYio{--7cCj8wHkS@q7LIRRQd^H2}W=a0$Skaul4X00000NkvXXu0mjf D-?_~J literal 0 HcmV?d00001 diff --git a/resources/supressHolesOnFaceShell.png b/resources/supressHolesOnFaceShell.png new file mode 100755 index 0000000000000000000000000000000000000000..99eb53ae367af97bb707eff6c0d5b1ad957e9d90 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQa>?NMQuI!gsq}Wv%w(L4^7bwJ8 z;1OBOz`!j8!i<;h*8KqrvZOouIx;Y9?C1WI$O`0Z1^9%x{{R2~-P?C>-n{wv@#9+{ z>-{^R%=72Zo2OlR^5n^X28KtE9zA&Q;LDdU>NiChfpUx`L4Lsu4$p3+0XZ?AE{-7; zx26U-@--;%IA4rh_V54hbG->_!O8lnzM0dPePJ#+yiQ3bqx;BFmudbzUR!2q_>1ii z6jo#lsVZ%ox$my^*DrdXzkGdrpxyY)m$$03{MaRr*~HHHeE1FfysI2mnRXUmf%Y(X My85}Sb4q9e03m;F;s5{u literal 0 HcmV?d00001 diff --git a/resources/supressface.png b/resources/supressface.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab62f9a0367d8917269f124cfca463203e8e6c4 GIT binary patch literal 368 zcmV-$0gwKPP)@C#0cnT3gAAIP`Qs?hFlA5Mz!JSZ& z(&U@@r!$Etr?*_Pk%B7RktYcP)@%#u(~;%xXEyuTe2?_uE|c6e*=DBr|OD za|i|nnC!cpFLb?KDa*2#2p=-VGm-HEZKucckv@4KLPs))DR2Hg?J6ZN*jYq=b0h<{ zct+^L(m*;Y%La#5#(U@~C@>WCa4;mTwF_*TD;uU0P5nW?m>mQf z9leQm3fU`cJQ+t$4smP5NnG@1$YK?fN)*kfbN}^Kc;$gP7~$i}vh5BK1$i=3-ua3E O0000?NMQuI!gsxH-6aLO*?y1qyK% zctjR6FmMZjFyp1Wb$@_@Ea{HEjtmSN`?>!lvI6<)0X`wF|NsBryKC>(OuLr24dD^A_3=9no4JU7!H3RvKB|(0{3=Yq3qyafOo-U3d6}Q$- z@D^)O;BXC9VY>OhN}1EPO3LKLxjlCF{Zsxms9#=bW8i%9or(%~vhMB3%PkKMdgyKX z8WFv8?a?wbP2YES)Xtt?@$X44$rjF6*2UngGiIYR>=w literal 0 HcmV?d00001 diff --git a/resources/tolerance.png b/resources/tolerance.png new file mode 100644 index 0000000000000000000000000000000000000000..fd75ba4626877a128ec1ae4f004dbfcea37e643c GIT binary patch literal 387 zcmV-}0et?6P)NklRumzh;V z(_oCdIIVnz)BC9jyAKDp3?iD?vVpc?*)>ztKuRgx*)_w8dx6rI5RnmJ#{hS6Dn8VU zEP=dRw!krzM11$c#{oJ(l zWmqhs0pNrIF{60yB6O%y=o%1fb~qj$)*OQNflpv$36u~@U!u4dkXpc&v3=PNLN`;e zwgC|m4H!}~1&bLF5g6g{0>OYG8HDRJ3R|KL6ej=9Rb)L3Xtl4nl{K&iNJJn6;2Ib( hx7#ex{~PQR{Q}x15JsPZiV>(-gA4l#x`s#&;MS1Jq%b*w*;4ojIY2<^;v&IKjIQBR1hhrKTL_dw z|MDsjNRw$)%Qs`)V za*f*BsuK|*ke~x*9~tpo^fROvjq=t!U%($N_VN8#8e>@BuP4D{P@`@+UyfX^6A}vP zb4qS<9$kw)0*Noo)C>u$)w+8A*(ocnwU{ph1>`2j78Yx*6NC>cRPFO~{ZE|Wi@mhD qK!Ph!lbZyN!M5lrtY1za)WkQfEv5i@m!diV0000-Oi^O=h6ez!+NNUjofsAm9{t>RV)Udm9+ zX1hU8HOW=@sVI!|@or7LUrdZ%>yL2J{)=ITS(zO{rG<$q{8uE?dp;sr!GHs7U*G@LT7=>p~7{}qW5WmD!-or zkAVTC{Q9TeY_o1(sO;^K33wl+jps;_4PR&2AA5IQMSF;CA= z=%psV$yHyWd2Uy|qS$7XyR!X$D7t;&)AzAJ{kI07da2x1r*2n*UX5TP0zjIiq)E!- zx5rlbDYo2|Z0LnuFf4N5io4XBh5)&tJKj`#dZEDQXOpi^uD=8id z0QNujtUs>7p>EZ!^ZudP#zHe}iVqCb`o_SZA*UJ^L4DIC9Vnbg`|KEXv27+I!a^2r z!0LBJ{vmrG5|~%sH7^o~`j?BtuY)tju>Q0@3m$^Jy6fZ`t#vRX!yoA2=qbE}bP{@y-l3Cs@D@@iI2AA9DIA1k5X?|WhZd_;(gSQ>-vcD_56XoK@G#$X=rByT$xhQ(Uh}oFEPY2@*TdwPr+w7%_-wx&N=|t?1)$ zC70pAja(8DvSa22kJfTolr8d84mBt=_r|Lz)`u;7=?%4JSq%z;1T@#KJi9}!HAX!` jKXw9!hy$;WaW6dq6Np*<(Pa!w00000NkvXXu0mjfHQRIk literal 0 HcmV?d00001 diff --git a/resources/tree_compound.png b/resources/tree_compound.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd78eb3f8d4706e9e6f6c85a3f29706bf996dba GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_7Ec$)kcv5TC*9>epuo{`u+S4Ushr-IA{6pTd&%w3A6hHYxN(k nUHmJ_sc-sm_pSd{+ka)s%!y8}+q8`l=pF`7S3j3^P6vc zw2xo(n6IfO6f){^dH8I6vHH`e>LfRAoO(gb6Mw< G&;$U;u`&Sw literal 0 HcmV?d00001 diff --git a/resources/tree_edge.png b/resources/tree_edge.png new file mode 100644 index 0000000000000000000000000000000000000000..df9741d768116f313858e987b615e1aa4e3cf567 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xaZ%-G;kcv5bFYV@KP~cz*C@3wv zus4Py+T;(n=enIwRKpt%T-bFn+0`SvyLJxu*|Xu-og`N*;+S=!S#MK9hsg{leII2` f?+(Tfzt_t>kea-GXW~*%ps@^|u6{1-oD!M<+~6$v literal 0 HcmV?d00001 diff --git a/resources/tree_face.png b/resources/tree_face.png new file mode 100644 index 0000000000000000000000000000000000000000..e9dc9a880b2be059033ef58f5f6877ba4bedb6df GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xaJ5LwKkcv6UDL>9Th$SfbOS4Kv z22}L0$o!k%D7f2=jjioj=JXA(R-V1&{P6PqerFHmES3oZvMo~{v3&Wi%#it(OZt}~ Rzc|n&22WQ%mvv4FO#oC-B`*K~ literal 0 HcmV?d00001 diff --git a/resources/tree_shape.png b/resources/tree_shape.png new file mode 100644 index 0000000000000000000000000000000000000000..0ece93b756c4e14ec4f1972d960d61c7ed74c84b GIT binary patch literal 909 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z|0Wf6XFWwGW`F4!)WS0ZF3(e3_V@_T-G@y GGywp~<1P09 literal 0 HcmV?d00001 diff --git a/resources/tree_shell.png b/resources/tree_shell.png new file mode 100644 index 0000000000000000000000000000000000000000..59992de3660d815473929e2498b9915a4be6d6fb GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_7*7|+kcv6UDL>9Th$SfbOEWWb zhXuOXy!&zfKu4^y^5Or_GN&7~WN-fRV3vf$g}Gi!)I!_^AKIieJPMh!Es-&VFSMlL x4eyH0otp&TvCdi8#T;N7@=^0R_X)mGhHPs&*}raIego}c@O1TaS?83{1OO@$Gu8kA literal 0 HcmV?d00001 diff --git a/resources/tree_solid.png b/resources/tree_solid.png new file mode 100644 index 0000000000000000000000000000000000000000..aa74e796eb2f3c04d186cb2bf110a0434d02b814 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_WKS2zkcv6UDL>9Th$SfbOEWWb zhXuOXy!&zfKu4^y^5Or_GN&7~WN-cw@MDGF(Z!sxGKtDpDqpA>8yF;H94gQ<^gHq{ zM2O+7>9w?%2NySG^uCxSAu(a`tPYRk>n6H5ls#Zz*x@H*BB|uo4785H)78&qol`;+ E0Ns5z5C8xG literal 0 HcmV?d00001 diff --git a/resources/tree_vertex.png b/resources/tree_vertex.png new file mode 100644 index 0000000000000000000000000000000000000000..6a112b51df98fe072e86103b5d1fc6a4ccd8cc91 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xaJ5LwKkcv6UDL>9Th$Sfb-(GO( zhRt80xcifHm6fYjByC=47Thlw{JQ?lj>=n0|L=Gr@h|xD$|FsVBK;CGUQF SzB&tN5`(9!pUXO@geCx1^D74c literal 0 HcmV?d00001 diff --git a/resources/tree_wire.png b/resources/tree_wire.png new file mode 100644 index 0000000000000000000000000000000000000000..9416d0e3928a132965dc95b913a6ebba8ed14fc8 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_2u~Nskcv6UDL>9Th$SfbOEWWb zGcz+gfBxca@pkRmE6GRnKFc@FULO04KUq0B=8=o$AuYc(yb_O=Sn#{btp443vBz8a sUW4Lsw@rUM!d6TY?Z085yt7k=!9{$XL(OlFexMx;p00i_>zopr0OU3>tpET3 literal 0 HcmV?d00001 diff --git a/resources/vector.png b/resources/vector.png new file mode 100644 index 0000000000000000000000000000000000000000..9a1a7e85a951160215e000b7b44b62a932e4ba63 GIT binary patch literal 269 zcmV+o0rLKdP)a1Q8)$=LRBL-tEuUolG00ZfaDu z&j*1HD-MNSOfOV*1ubYB0XnQal@>rm$YvRm3X({_@2jEsn5v?!c6XO{_vgn)@Ga&I z!jHk0L$N_H273(}Y%F#!f4wS?C85~!2`%Oq>>2b>AQ*#zXXD;i2nLa#!%*A+{3MNj T23P|u00000NkvXXu0mjfKS^n8 literal 0 HcmV?d00001 diff --git a/resources/vector2points.png b/resources/vector2points.png new file mode 100644 index 0000000000000000000000000000000000000000..ff58a8ad4ed629d39d07434923c54ec57699a22a GIT binary patch literal 277 zcmV+w0qXvVP)Kz~j!k>MLNJJY b9DI2K<(QIstZ4bV00000NkvXXu0mjf0?TrN literal 0 HcmV?d00001 diff --git a/resources/vectordxyz.png b/resources/vectordxyz.png new file mode 100644 index 0000000000000000000000000000000000000000..e37e015cbc3b3f2f3f9284ad9a6817b93d458e4a GIT binary patch literal 290 zcmV+-0p0$IP)lU z2SL?n>f-(Y^reJ2h!eO{{&c=4v5tpbs&kr#lAT(h+w~LV2}Go~93h`z@nt+RhH(Hh z|E6Jtb(c;ys|Wg_2PS|g)>{V38b(;S1z~3J#9(F+5y;bbKn+Ho002bqZ_#DT%c2qO zzD*aKG_=A@z;9rSKxcr7;(%^Sc52xjxp~Du#Q_M{fTcFINoexqtSBoiX{OETY;3d} o<9ulbXpvgBE(9~MR#acGFWhjj_%zuX1ONa407*qoM6N<$f|q`D=l}o! literal 0 HcmV?d00001 diff --git a/resources/whatis.png b/resources/whatis.png new file mode 100644 index 0000000000000000000000000000000000000000..1b39f3544c0fc3c9c78be530a9531b9e5e767c32 GIT binary patch literal 414 zcmV;P0b%}$P)-FE+k8vD%S%l@c6q;wtN;K207*qo IM6N<$f;I-X^8f$< literal 0 HcmV?d00001 -- 2.39.2