/* * Project: MoleCuilder * Description: creates and alters molecular systems * Copyright (C) 2010 University of Bonn. All rights reserved. * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. */ /** * \file shapes.dox * * Created on: Oct 28, 2011 * Author: heber */ /** \page shapes Shapes * * Shapes are present for denoting a specific region of the simulation domain. * There are four primitive types present: * - Sphere * - Ellipsoid * - Cuboid * - Cylinder * * Note that all may be modified (shrink/grow, rotate, morph) via an arbitrary * matrix. * * The shapes are for the moment only used within \ref descriptors to specify * a specific subset of atoms, here that reside in a certain region of the * simulation domain. * * \todo There is a certain relation between Tesselation and Shape. Hence, later * Tesselation shall itself be a Shape, i.e. that describes a certain region in * space, here via a tesselated mesh. * * Again, Shapes can be joined via boolean operators: * - add * - or * - not * * And thus are a very powerful concept. * * E.g. a shape can be used like this * \code * Cuboid(Vector(0,0,0), Vector(2,2,2)) && !Sphere(Vector(1,1,1), 1.) * \endcode * which would match any object within the cuboid from (0,0,0) to (2,2,2) * that is not in the unit sphere at (1,1,1). * * * \date 2013-02-07 * */