Moby
Classes | Typedefs | Functions | Variables
Moby Namespace Reference

Classes

class  AABB
 An axis-aligned bounding box. More...
 
class  ArticulatedBody
 Abstract class for articulated bodies. More...
 
class  Base
 Class from which all Moby classes are derived. More...
 
class  BoundingSphere
 A sphere used for bounding geometry. More...
 
class  BoxPrimitive
 Represents a solid box centered at the origin (by default) More...
 
class  BV
 An abstract bounding volume. More...
 
class  CCD
 Implements the CollisionDetection abstract class to perform exact contact finding using abstract shapes. More...
 
class  CollisionDetection
 Defines an abstract collision detection mechanism. More...
 
class  CollisionGeometry
 Defines collision geometry that may be used (in principle) many ways: for rigid bodies, non-rigid bodies, ... More...
 
class  ConePrimitive
 Defines a cone primitive. More...
 
class  ConstraintSimulator
 An virtual class for simulation with constraints. More...
 
class  ConstraintStabilization
 Projected constraint stabilization mechanism. More...
 
class  ContactParameters
 Class for storing contact modeling parameters between two bodies. More...
 
class  ControlledBody
 Superclass for controlled bodies. More...
 
class  CylinderPrimitive
 Defines a cylinder primitive. More...
 
class  DegenerateTriangleException
 Exception thrown when trying to perform an operation that requires a normal on a degenerate triangle. More...
 
class  Dissipation
 
class  DummyBV
 An abstract bounding volume. More...
 
class  FixedJoint
 Defines a joint for fixing two bodies together or fixing one body to the ground. More...
 
class  Gears
 Defines a gear ("joint") constraint. More...
 
class  GravityForce
 Gravitational force applied to bodies. More...
 
class  HeightmapPrimitive
 Represents a heightmap with height zero on the xz plane (primitive can be transformed) More...
 
class  ImpactConstraintHandler
 Defines the mechanism for handling impact constraints. More...
 
class  ImpactToleranceException
 Exception thrown when constraint violation is greater than a desired tolerance. More...
 
struct  IndexedTri
 An indexed triangle. More...
 
class  IndexedTriArray
 An array of triangles indexed into shared vertices. More...
 
class  InvalidIndexException
 Exception thrown when trying to access the index beyond the range of the data. More...
 
class  InvalidStateException
 Exception thrown when an integrator tries to evaluate a derivative at an invalid state. More...
 
class  InvalidVelocityException
 Exception thrown when an integrator tries to evaluate a derivative at an invalid velocity. More...
 
class  Joint
 Defines a joint used in articulated rigid body dynamics simulation. More...
 
class  LCPSolverException
 Exception thrown when LCP solver can't solve. More...
 
struct  OutputToFile
 
class  Log
 Moby's logging utility. More...
 
class  OBB
 An oriented bounding box that optionally allows building an OBB tree. More...
 
class  OSGGroupWrapper
 A wrapper for OpenInventor OSGGroup class, supporting serialization. More...
 
struct  PairwiseDistInfo
 Structure for storing the pairwise distance between pointers to two CollisionGeometry objects. More...
 
class  PenaltyConstraintHandler
 Defines the mechanism for handling Penalty constraints. More...
 
class  PlanarJoint
 Defines an actuated spherical joint. More...
 
class  Plane
 Defines a plane using the equation <n, x> = d. More...
 
class  PlanePrimitive
 Represents a heightmap with height zero on the xz plane (primitive can be transformed) More...
 
class  PolyhedralPrimitive
 Defines a triangle-mesh-based primitive type used for inertial property calculation and geometry provisions. More...
 
class  Polyhedron
 A potentially-non-convex polyhedron of genus 0. More...
 
class  Primitive
 Defines a triangle-mesh-based primitive type used for inertial property calculation and geometry provisions. More...
 
class  PrismaticJoint
 Defines an actuated prismatic joint. More...
 
class  RCArticulatedBody
 Defines an articulated body for use with reduced-coordinate dynamics algorithms. More...
 
class  RCArticulatedBodyInvDynData
 Wrapper class for passing data to and from inverse dynamics algorithms. More...
 
class  RCArticulatedBodyInvDynAlgo
 Abstract class for performing inverse dynamics computation on a reduced-coordinate articulatedc body. More...
 
class  RecurrentForce
 Used for applying forces to the simulation on every time step. More...
 
class  RevoluteJoint
 Defines an actuated revolute joint. More...
 
class  RigidBody
 Represents a single rigid body. More...
 
class  ScrewJoint
 Defines an actuated screw (helical) joint. More...
 
class  SDFReader
 Used to read the simulator state from XML. More...
 
class  Simulator
 Simulator for both unarticulated and articulated rigid bodies without contact. More...
 
class  SingularException
 Exception thrown when trying to invert/solve with a non-invertible matrix. More...
 
struct  MatrixBlock
 Matrix block. More...
 
class  SparseJacobian
 A Sparse Jacobian representation along with multiplication routines. More...
 
class  SpherePrimitive
 Represents a sphere primitive for inertia properties, collision detection, and visualization. More...
 
class  SphericalJoint
 Defines an actuated spherical joint. More...
 
class  SSL
 A sphere-swept line (SSL) that optionally allows building an SSL tree. More...
 
class  SSR
 A sphere-swept rectangle (SSR) that optionally allows building an SSR tree. More...
 
class  StokesDragForce
 
class  TessellatedPolyhedron
 Represents a three-dimensional polyhedron. More...
 
class  TimeSteppingSimulator
 An event-driven simulator. More...
 
class  TorusPrimitive
 Represents a solid box centered at the origin (by default) More...
 
class  TriangleMeshPrimitive
 Represents a triangle mesh "primitive" for inertia properties, collision detection, and visualization. More...
 
class  UndefinedAxisException
 Exception thrown when axis has not been defined but user calls operation that requires its definition. More...
 
class  UnilateralConstraint
 Container class for describing a unilateral constraint in the simulation. More...
 
class  UniversalJoint
 Defines an actuated universal joint. More...
 
class  URDFReader
 Used to read the simulator state from URDF. More...
 
class  Visualizable
 Class that allows for visualizing simulation data. More...
 
class  XMLReader
 Used to read the simulator state from XML. More...
 
class  XMLAttrib
 Attributes used for XML nodes. More...
 
class  XMLTree
 An XML tree used for serialization. More...
 
class  XMLWriter
 Class for writing Base objects (and their derivatives) to XML. More...
 
class  BaseData
 
class  CcolorVisitor
 This OSG NodeVisitor colors all Geometry & ShapeDrawable of a single node. More...
 

Typedefs

typedef Ravelin::Vector2d Point2d
 Typedef to distinguish between a 2D vector and a point.
 
typedef Ravelin::Vector3d Point3d
 Typedef to distinguish between a 3D vector and a point.
 
typedef std::pair< Point3d,
Point3d
LineSeg3
 Typedef to make specifying line segments easier.
 
typedef std::pair< Point2d,
Point2d
LineSeg2
 Typedef to make specifying line segments easier.
 
typedef boost::shared_ptr
< TessellatedPolyhedron
TessellatedPolyhedronPtr
 TessellatedPolyhedron smart pointer.
 
typedef boost::shared_ptr
< Simulator
SimulatorPtr
 Simulator smart pointer.
 
typedef boost::shared_ptr
< RigidBody
RigidBodyPtr
 Rigid body smart pointer.
 
typedef boost::shared_ptr
< ArticulatedBody
ArticulatedBodyPtr
 Articulated body smart pointer.
 
typedef boost::shared_ptr
< RCArticulatedBody
RCArticulatedBodyPtr
 Reduced-coordinate articulated body smart pointer.
 
typedef boost::shared_ptr
< MCArticulatedBody > 
MCArticulatedBodyPtr
 Maximal-coordinate articulated body smart pointer.
 
typedef boost::shared_ptr< JointJointPtr
 Reduced-coordinate articulated body joint smart pointer.
 
typedef boost::shared_ptr
< CollisionGeometry
CollisionGeometryPtr
 Collision geometry smart pointer.
 
typedef boost::shared_ptr
< Primitive
PrimitivePtr
 Primitive smart pointer.
 
typedef boost::shared_ptr< BaseBasePtr
 Base smart pointer.
 
typedef boost::shared_ptr
< RecurrentForce
RecurrentForcePtr
 Recurrent force smart pointer.
 
typedef boost::shared_ptr
< ControlledBody
ControlledBodyPtr
 Dynamic body smart pointer.
 
typedef boost::shared_ptr< BVBVPtr
 Bounding volume (BV) smart pointer.
 
typedef boost::shared_ptr< AABBAABBPtr
 Axis-aligned bounding box (AABB) smart pointer.
 
typedef boost::shared_ptr< OBBOBBPtr
 Oriented bounding box (OBB) smart pointer.
 
typedef boost::shared_ptr
< OSGGroupWrapper
OSGGroupWrapperPtr
 OSGGroupWrapper smart pointer.
 
typedef boost::shared_ptr
< XMLTree
XMLTreePtr
 XML tree smart pointer.
 

Functions

std::ostream & operator<< (std::ostream &out, const AABB &a)
 
const Ravelin::VectorNd EMPTY_VEC (0)
 
std::ostream & operator<< (std::ostream &out, const IndexedTriArray &mesh)
 
std::ostream & operator<< (std::ostream &out, const OBB &o)
 
template<class ForwardIterator , class RandomAccessIterator1 , class RandomAccessIterator2 >
void permute (ForwardIterator mapping_begin, ForwardIterator mapping_end, RandomAccessIterator1 input_begin, RandomAccessIterator2 output_begin)
 
std::ostream & operator<< (std::ostream &out, const Plane &p)
 
std::ostream & operator<< (std::ostream &out, const Polyhedron &m)
 
std::ostream & operator<< (std::ostream &out, const Polyhedron::Vertex &m)
 
std::ostream & operator<< (std::ostream &out, const Polyhedron::Edge &m)
 
std::ostream & operator<< (std::ostream &out, const Polyhedron::Face &m)
 
std::ostream & operator<< (std::ostream &, RigidBody &)
 Outputs the object state to the specified stream. More...
 
std::ostream & operator<< (std::ostream &o, const SSL &s)
 Outputs the SSL to the specified stream.
 
std::ostream & operator<< (std::ostream &o, const SSR &s)
 Outputs the SSR to the specified stream.
 
std::ostream & operator<< (std::ostream &out, const TessellatedPolyhedron &p)
 Sends the specified polyhedron to the desired output stream.
 
std::ostream & operator<< (std::ostream &out, const UnilateralConstraint &e)
 Sends the constraint to the specified stream.
 
std::ostream & operator<< (std::ostream &out, const XMLTree &tree)
 Sends the specified XMLTree node to the given stream.
 
std::ostream & operator<< (std::ostream &out, const XMLAttrib &attr)
 Sends the specified XMLAttrib to the given stream.
 

Variables

const boost::shared_ptr< const
Ravelin::Pose3d > 
GLOBAL
 
const double NEAR_ZERO = std::sqrt(std::numeric_limits<double>::epsilon())
 
const Ravelin::Matrix3d ZEROS_3x3 = Ravelin::Matrix3d::zero()
 
const Ravelin::Matrix3d IDENTITY_3x3 = Ravelin::Matrix3d::identity()
 
const unsigned LOG_SIMULATOR = 1
 
const unsigned LOG_CONSTRAINT = 2
 
const unsigned LOG_DYNAMICS = 4
 
const unsigned LOG_BV = 8
 
const unsigned LOG_ADF = 16
 
const unsigned LOG_COLDET = 32
 
const unsigned LOG_COMPGEOM = 64
 
const unsigned LOG_LINALG = 128
 
const unsigned LOG_OPT = 256
 
const unsigned LOG_DEFORM = 512
 

Detailed Description

This function, which acts like an STL algorithm, selects elements with given integer indices from a container.

Example: double x[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int i[4] = {3, 1, 5, 7}; double results[4];

select(x, i, i+4, results); // results now contains { 4, 2, 6, 8 }

A bunch of typedefs to make things more readable.

Function Documentation

std::ostream & Moby::operator<< ( std::ostream &  out,
Moby::RigidBody rb 
)

Outputs the object state to the specified stream.

This method outputs all of the low-level details to the stream

References Moby::RigidBody::compliance, Moby::RigidBody::geometries, Moby::Base::id, and operator<<().

template<class ForwardIterator , class RandomAccessIterator1 , class RandomAccessIterator2 >
void Moby::permute ( ForwardIterator  mapping_begin,
ForwardIterator  mapping_end,
RandomAccessIterator1  input_begin,
RandomAccessIterator2  output_begin 
)
Parameters
mapping_beginbeginning iterator to mapping giving source indices
mapping_endending iterator to mapping giving source indices
input_beginbeginning iterator to source
output_beginbeginning iterator to target