• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

atlas/H03-May-2022-914760

doc/H03-May-2022-2,2261,550

m4/H31-Aug-2013-8,7447,874

support/H31-Aug-2013-2214

wfmath/H03-May-2022-16,26010,107

wfmath.pbproj/H31-Aug-2013-1,7461,745

AUTHORSH A D02-Jan-2009483 2115

COPYINGH A D02-Jan-200917.6 KiB341281

ChangeLogH A D31-Aug-201367.7 KiB2,4591,687

INSTALLH A D02-Jan-20097.6 KiB183143

Makefile.amH A D31-Aug-2013397 159

Makefile.inH A D03-May-202227.5 KiB864770

NEWSH A D31-Aug-20131,016 5326

READMEH A D02-Jan-20092.7 KiB6350

TODOH A D09-Apr-20131.9 KiB4537

aclocal.m4H A D31-Aug-201336.1 KiB1,037934

autogen.shH A D21-Apr-20131.2 KiB5644

config.guessH A D07-Nov-200843.8 KiB1,5271,315

config.h.inH A D31-Aug-20131.7 KiB6342

config.subH A D07-Nov-200832.6 KiB1,6591,514

configureH A D31-Aug-2013546.9 KiB18,17515,397

configure.acH A D31-Aug-20132.3 KiB10683

depcompH A D21-Nov-200918.2 KiB631407

install-shH A D21-Nov-200913.3 KiB521344

ltmain.shH A D25-Jan-2013276.9 KiB9,6577,304

mingw32-wfmath.spec.inH A D19-Apr-20111.3 KiB5545

missingH A D21-Nov-200911.2 KiB377281

wfmath-1.0.pc.inH A D09-Apr-2013229 119

wfmath.specH A D31-Aug-20131.6 KiB8164

wfmath.spec.inH A D02-Jan-20091.7 KiB8164

README

1This is the Worldforge math library. It's licensed under the GPL
2(see file COPYING), and basic compilation instructions are in
3the file INSTALL. The current maintainer is Ron Steinke
4<rsteinke@w-link.net>.
5
6The primary focus of WFMath is geometric objects. Thus,
7it includes several shapes (boxes, balls, lines), in addition
8to the basic math objects that are used to build these shapes
9(points, vectors, matricies).
10
11The only library that WFMath checks for is Atlas, and it only does this
12for the sake of some test functions. The only dependency on Atlas is
13in the file atlasconv.h. This header file contains
14some inline functions which can be used to convert the various
15objects in WFMath to Atlas::Message::Object and back. This
16header file will be installed whether Atlas is present or not,
17but to use it you must of course have the Atlas headers installed.
18
19Most of the library classes can be divided into two sorts. The
20first kind are basic mathematical objects, whose members are all fundamental
21types. The second kind are shapes, which implement the shape class
22interface described in doc/shape.h. There are four classes of the first kind:
23
24Vector<>	A basic mathematical vector
25RotMatrix<>	An orthogonal matrix of determinant 1, useful for
26		describing rotations.
27Point<>		A point in space. This basic class also implements
28		the shape interface in doc/shape.h.
29Quaternion	A quaternion
30
31The shape classes are:
32
33AxisBox<>	A box oriented parallel to the coordinate axes
34Ball<>		Ball<2> is a circle, Ball<3> is a sphere, etc.
35Segment<>	A line segment, defined by its endpoints
36RotBox<>	Like AxisBox<>, but it can be rotated to arbitrary
37		angles
38Polygon<>	A 2 dimensional polygon contained in a (possibly)
39		larger dimensional space
40
41The library also contains some probability-related functions,
42as well as wrappers for system time and random number functions.
43
44Anyone interested in contributing to this project should do three things:
45
461) Send me an email. This is mostly to let me know someone else is working
47   with the CVS repository, so I can be careful about merging commits.
48
492) Look at the file doc/CLASS_LAYOUT, which specifies which member functions
50   all classes should have, and what order they should appear in.
51   This only applies to significant classes, not things like
52   ColinearVectors in error.h, which is only there to be thrown as
53   as exception.
54
553) Update the ChangeLog _every_ time you commit to CVS. This makes
56   it possible for other people to have some idea what you're working on.
57
58The documentation is at this point confined to the doc/CLASS_LAYOUT file
59and comments in the code. There's also a sample shape class definition
60in the file shape.h in the doc directory. This has comments about
61what member functions all shape classes are supposed to have, and what they
62do.
63