| 1 | /* | 
|---|
| 2 | * Project: MoleCuilder | 
|---|
| 3 | * Description: creates and alters molecular systems | 
|---|
| 4 | * Copyright (C)  2010 University of Bonn. All rights reserved. | 
|---|
| 5 | * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. | 
|---|
| 6 | */ | 
|---|
| 7 |  | 
|---|
| 8 | /** | 
|---|
| 9 | * \file shapes.dox | 
|---|
| 10 | * | 
|---|
| 11 | * Created on: Oct 28, 2011 | 
|---|
| 12 | *    Author: heber | 
|---|
| 13 | */ | 
|---|
| 14 |  | 
|---|
| 15 | /** \page shapes Shapes | 
|---|
| 16 | * | 
|---|
| 17 | * Shapes are present for denoting a specific region of the simulation domain. | 
|---|
| 18 | * There are four primitive types present: | 
|---|
| 19 | *  - Sphere | 
|---|
| 20 | *  - Ellipsoid | 
|---|
| 21 | *  - Cuboid | 
|---|
| 22 | *  - Cylinder | 
|---|
| 23 | * | 
|---|
| 24 | * Note that all may be modified (shrink/grow, rotate, morph) via an arbitrary | 
|---|
| 25 | * matrix. | 
|---|
| 26 | * | 
|---|
| 27 | * The shapes are for the moment only used within \ref descriptors to specify | 
|---|
| 28 | * a specific subset of atoms, here that reside in a certain region of the | 
|---|
| 29 | * simulation domain. | 
|---|
| 30 | * | 
|---|
| 31 | * \todo There is a certain relation between Tesselation and Shape. Hence, later | 
|---|
| 32 | * Tesselation shall itself be a Shape, i.e. that describes a certain region in | 
|---|
| 33 | * space, here via a tesselated mesh. | 
|---|
| 34 | * | 
|---|
| 35 | * \section shapes-constructive-geometry Constructive Geometry | 
|---|
| 36 | * | 
|---|
| 37 | * Again, Shapes can be joined via boolean operators: | 
|---|
| 38 | * - add | 
|---|
| 39 | * - or | 
|---|
| 40 | * - not | 
|---|
| 41 | * | 
|---|
| 42 | * And thus are a very powerful concept called constructive geometry. | 
|---|
| 43 | * | 
|---|
| 44 | * E.g. a shape can be used like this | 
|---|
| 45 | * \code | 
|---|
| 46 | * Cuboid(Vector(0,0,0), Vector(2,2,2)) && !Sphere(Vector(1,1,1), 1.) | 
|---|
| 47 | * \endcode | 
|---|
| 48 | * which would match any object within the cuboid from (0,0,0) to (2,2,2) | 
|---|
| 49 | * that is not in the unit sphere at (1,1,1). | 
|---|
| 50 | * | 
|---|
| 51 | * | 
|---|
| 52 | * \date 2014-03-10 | 
|---|
| 53 | * | 
|---|
| 54 | */ | 
|---|