summaryrefslogtreecommitdiffstats
path: root/src/Math
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2010-01-07 07:03:58 +0100
committerMatthias Schiffer <matthias@gamezock.de>2010-01-07 07:03:58 +0100
commite0cb6bd23b21f126bde42f74f4b1a798c3e15b0f (patch)
treebc9aba37b5b4c6edeb8725720c2ebfe5e80643ab /src/Math
parentd71148392055eec06460fa24e3747d2c55d96b38 (diff)
downloadzoomedit-e0cb6bd23b21f126bde42f74f4b1a798c3e15b0f.tar
zoomedit-e0cb6bd23b21f126bde42f74f4b1a798c3e15b0f.zip
Major cleanup
Much better now!
Diffstat (limited to 'src/Math')
-rw-r--r--src/Math/Makefile.am5
-rw-r--r--src/Math/Makefile.in446
-rw-r--r--src/Math/Triangle2D.cpp16
-rw-r--r--src/Math/Triangle2D.h16
-rw-r--r--src/Math/Vector2D.cpp83
-rw-r--r--src/Math/Vector2D.h66
-rw-r--r--src/Math/Vertex2D.cpp61
-rw-r--r--src/Math/Vertex2D.h57
8 files changed, 16 insertions, 734 deletions
diff --git a/src/Math/Makefile.am b/src/Math/Makefile.am
deleted file mode 100644
index 5045b5a..0000000
--- a/src/Math/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-noinst_LTLIBRARIES = libmath.la
-
-libmath_la_SOURCES = Triangle2D.cpp Vector2D.cpp Vertex2D.cpp
-
-noinst_HEADERS = Triangle2D.h Vector2D.h Vertex2D.h
diff --git a/src/Math/Makefile.in b/src/Math/Makefile.in
deleted file mode 100644
index 2457e24..0000000
--- a/src/Math/Makefile.in
+++ /dev/null
@@ -1,446 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = src/Math
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/src/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libmath_la_LIBADD =
-am_libmath_la_OBJECTS = Triangle2D.lo Vector2D.lo Vertex2D.lo
-libmath_la_OBJECTS = $(am_libmath_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libmath_la_SOURCES)
-DIST_SOURCES = $(libmath_la_SOURCES)
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTKGLEXT_CFLAGS = @GTKGLEXT_CFLAGS@
-GTKGLEXT_LIBS = @GTKGLEXT_LIBS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-glademm_CFLAGS = @glademm_CFLAGS@
-glademm_LIBS = @glademm_LIBS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libxml_CFLAGS = @libxml_CFLAGS@
-libxml_LIBS = @libxml_LIBS@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libmath.la
-libmath_la_SOURCES = Triangle2D.cpp Vector2D.cpp Vertex2D.cpp
-noinst_HEADERS = Triangle2D.h Vector2D.h Vertex2D.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Math/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Math/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libmath.la: $(libmath_la_OBJECTS) $(libmath_la_DEPENDENCIES)
- $(CXXLINK) $(libmath_la_OBJECTS) $(libmath_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Triangle2D.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vector2D.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vertex2D.Plo@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/src/Math/Triangle2D.cpp b/src/Math/Triangle2D.cpp
index 035ecb3..699bad8 100644
--- a/src/Math/Triangle2D.cpp
+++ b/src/Math/Triangle2D.cpp
@@ -24,19 +24,19 @@ namespace ZoomEdit {
namespace Math {
float Triangle2D::area() const {
- return std::fabs((vertices[0].getY() + vertices[1].getY())*(vertices[0].getX()-vertices[1].getX())
- + (vertices[1].getY() + vertices[2].getY())*(vertices[1].getX()-vertices[2].getX())
- + (vertices[2].getY() + vertices[0].getY())*(vertices[2].getX()-vertices[0].getX()))/2;
+ return std::fabs((vertices[0].y() + vertices[1].y())*(vertices[0].x()-vertices[1].x())
+ + (vertices[1].y() + vertices[2].y())*(vertices[1].x()-vertices[2].x())
+ + (vertices[2].y() + vertices[0].y())*(vertices[2].x()-vertices[0].x()))/2;
}
-bool Triangle2D::contains(const Vertex2D &v) const {
+bool Triangle2D::contains(const vmml::vec2f &v) const {
for(int i = 0; i < 3; ++i) {
- Vector2D v1 = vertices[(i+2)%3] - vertices[(i+1)%3];
- Vector2D v2 = vertices[i] - vertices[(i+1)%3];
+ vmml::vec2f v1 = vertices[(i+2)%3] - vertices[(i+1)%3];
+ vmml::vec2f v2 = vertices[i] - vertices[(i+1)%3];
- Vector2D vp = v - vertices[(i+1)%3];
+ vmml::vec2f vp = v - vertices[(i+1)%3];
- if((v1.getX()*vp.getY()-vp.getX()*v1.getY())*(v1.getX()*v2.getY()-v2.getX()*v1.getY()) < 0)
+ if((v1.x()*vp.y()-vp.x()*v1.y())*(v1.x()*v2.y()-v2.x()*v1.y()) < 0)
return false;
}
diff --git a/src/Math/Triangle2D.h b/src/Math/Triangle2D.h
index f8f02dd..f6bb6e2 100644
--- a/src/Math/Triangle2D.h
+++ b/src/Math/Triangle2D.h
@@ -20,39 +20,39 @@
#ifndef ZOOMEDIT_MATH_TRIANGLE2D_H_
#define ZOOMEDIT_MATH_TRIANGLE2D_H_
-#include "Vertex2D.h"
+#include <vmmlib/vector.hpp>
namespace ZoomEdit {
namespace Math {
class Triangle2D {
private:
- Vertex2D vertices[3];
+ vmml::vec2f vertices[3];
public:
Triangle2D() {}
- Triangle2D(const Vertex2D &v1, const Vertex2D &v2, const Vertex2D &v3) {
+ Triangle2D(const vmml::vec2f &v1, const vmml::vec2f &v2, const vmml::vec2f &v3) {
vertices[0] = v1;
vertices[1] = v2;
vertices[2] = v3;
}
- Triangle2D(const Vertex2D *v) {
+ Triangle2D(const vmml::vec2f *v) {
setVertices(v);
}
- const Vertex2D& getVertex(unsigned int i) const {return vertices[i];}
- void setVertex(unsigned int i, const Vertex2D &v) {vertices[i] = v;}
+ const vmml::vec2f& getVertex(unsigned int i) const {return vertices[i];}
+ void setVertex(unsigned int i, const vmml::vec2f &v) {vertices[i] = v;}
- void setVertices(const Vertex2D *v) {
+ void setVertices(const vmml::vec2f *v) {
for(int i = 0; i < 3; ++i)
setVertex(i, v[i]);
}
float area() const;
- bool contains(const Vertex2D &v) const;
+ bool contains(const vmml::vec2f &v) const;
};
}
diff --git a/src/Math/Vector2D.cpp b/src/Math/Vector2D.cpp
deleted file mode 100644
index 78f536b..0000000
--- a/src/Math/Vector2D.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Vector2D.cpp
- *
- * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
- *
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "Vector2D.h"
-#include <cmath>
-
-namespace ZoomEdit {
-namespace Math {
-
-float Vector2D::lengthSq() const {
- return x*x + y*y;
-}
-
-float Vector2D::length() const {
- return std::sqrt(lengthSq());
-}
-
-Vector2D Vector2D::operator+(const Vector2D &v) const {
- return Vector2D(x + v.x, y + v.y);
-}
-
-Vector2D Vector2D::operator-(const Vector2D &v) const {
- return Vector2D(x - v.x, y - v.y);
-}
-
-float Vector2D::operator*(const Vector2D &v) const {
- return (x*v.x + y*v.y);
-}
-
-Vector2D Vector2D::operator*(float f) const {
- return Vector2D(x*f, y*f);
-}
-
-Vector2D Vector2D::operator/(float f) const {
- return Vector2D(x/f, y/f);
-}
-
-Vector2D& Vector2D::operator+=(const Vector2D &v) {
- x += v.x;
- y += v.y;
-
- return *this;
-}
-
-Vector2D& Vector2D::operator-=(const Vector2D &v) {
- x -= v.x;
- y -= v.y;
-
- return *this;
-}
-
-Vector2D& Vector2D::operator*=(float f) {
- x *= f;
- y *= f;
-
- return *this;
-}
-
-Vector2D& Vector2D::operator/=(float f) {
- x /= f;
- y /= f;
-
- return *this;
-}
-
-}
-}
diff --git a/src/Math/Vector2D.h b/src/Math/Vector2D.h
deleted file mode 100644
index e95e502..0000000
--- a/src/Math/Vector2D.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Vector2D.h
- *
- * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
- *
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef ZOOMEDIT_MATH_VECTOR2D_H_
-#define ZOOMEDIT_MATH_VECTOR2D_H_
-
-namespace ZoomEdit {
-namespace Math {
-
-class Vector2D {
- private:
- float x, y;
-
- public:
- Vector2D() : x(0), y(0) {}
- Vector2D(float x0, float y0) : x(x0), y(y0) {}
-
- float getX() const {return x;}
- void setX(float x0) {x = x0;}
-
- float getY() const {return y;}
- void setY(float y0) {y = y0;}
-
- float lengthSq() const;
- float length() const;
-
- void normalize() {
- if(lengthSq())
- *this /= length();
- }
-
- Vector2D operator+(const Vector2D &v) const;
- Vector2D operator-(const Vector2D &v) const;
- float operator*(const Vector2D &v) const;
-
- Vector2D operator*(float f) const;
- Vector2D operator/(float f) const;
-
- Vector2D& operator+=(const Vector2D &v);
- Vector2D& operator-=(const Vector2D &v);
-
- Vector2D& operator*=(float f);
- Vector2D& operator/=(float f);
-};
-
-}
-
-}
-
-#endif /*ZOOMEDIT_MATH_VECTOR2D_H_*/
diff --git a/src/Math/Vertex2D.cpp b/src/Math/Vertex2D.cpp
deleted file mode 100644
index d64317a..0000000
--- a/src/Math/Vertex2D.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Vertex2D.cpp
- *
- * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
- *
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "Vertex2D.h"
-#include <cmath>
-
-namespace ZoomEdit {
-namespace Math {
-
-float Vertex2D::distanceSq(const Vertex2D &v) const {
- return (x - v.x)*(x - v.x) + (y - v.y)*(y - v.y);
-}
-
-float Vertex2D::distance(const Vertex2D &v) const {
- return std::sqrt(distanceSq(v));
-}
-
-Vector2D Vertex2D::operator-(const Vertex2D &v) const {
- return Vector2D(x - v.x, y - v.y);
-}
-
-Vertex2D Vertex2D::operator+(const Vector2D &v) const {
- return Vertex2D(x + v.getX(), y + v.getY());
-}
-
-Vertex2D Vertex2D::operator-(const Vector2D &v) const {
- return Vertex2D(x - v.getX(), y - v.getY());
-}
-
-Vertex2D& Vertex2D::operator+=(const Vector2D &v) {
- x += v.getX();
- y += v.getY();
-
- return *this;
-}
-
-Vertex2D& Vertex2D::operator-=(const Vector2D &v) {
- x -= v.getX();
- y -= v.getY();
-
- return *this;
-}
-
-}
-}
diff --git a/src/Math/Vertex2D.h b/src/Math/Vertex2D.h
deleted file mode 100644
index db6daba..0000000
--- a/src/Math/Vertex2D.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Vertex2D.h
- *
- * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
- *
- * This program is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef ZOOMEDIT_MATH_VERTEX2D_H_
-#define ZOOMEDIT_MATH_VERTEX2D_H_
-
-#include "Vector2D.h"
-
-namespace ZoomEdit {
-namespace Math {
-
-class Vertex2D {
- private:
- float x, y;
-
- public:
- Vertex2D() : x(0), y(0) {}
- Vertex2D(float x0, float y0) : x(x0), y(y0) {}
-
- float getX() const {return x;}
- void setX(float x0) {x = x0;}
-
- float getY() const {return y;}
- void setY(float y0) {y = y0;}
-
- float distanceSq(const Vertex2D &v) const;
- float distance(const Vertex2D &v) const;
-
- Vector2D operator-(const Vertex2D &v) const;
-
- Vertex2D operator+(const Vector2D &v) const;
- Vertex2D operator-(const Vector2D &v) const;
-
- Vertex2D& operator+=(const Vector2D &v);
- Vertex2D& operator-=(const Vector2D &v);
-};
-
-}
-}
-
-#endif /*ZOOMEDIT_MATH_VERTEX2D_H_*/