Classes

class  AtomOdeAgent
 Specialised agent for ode robots. More...
class  OdeAgent
 Specialised agent for ode robots. More...
class  AngularMotor
 Abstract angular motor class. More...
class  AngularMotor1Axis
 Angular motor for OneAxisJoints. More...
class  AngularMotor2Axis
 Angular motor for TwoAxisJoints. More...
class  AngularMotor3AxisEuler
 Angular motor for Ball Joints with Euler control. More...
class  AngularMotorNAxis
 Angular motor for arbitrary Joints with custom axis (up to 3). More...
class  Hinge2Servo
 PID Servo motor for hinge2 joints at axis 1 (steering axis). More...
class  HingeServo
 PID Servo motor for hinge joints. More...
class  PID
class  SliderServo
 PID Servo motor for slider joints. More...
class  UniversalServo
 PID Servo motor for universal joints. More...
class  AbstractGround
class  AbstractObstacle
 Abstract class (interface) for obstacles. More...
class  ClosedPlayground
class  MeshGround
class  MeshObstacle
class  OctaPlayground
class  PassiveBox
 (Passive) box as obstacle More...
class  PassiveCapsule
 (Passive) capsule as obstacle More...
class  PassiveMesh
 (Passive) mesh as obstacle More...
class  PassiveSphere
 (Passive) sphere as obstacle More...
class  Playground
class  TerrainGround
 Class provides an terrain based on HeightFields. More...
class  OdeConfig
 The class $name holds the configurable parameters of the simulation environment. More...
class  MoveEarthySkyWithEyePointTransform
class  Base
class  BoundingShape
 class for reading bounding shape description files (.bbox) and to create appropriate geoms More...
class  CameraManipulator
 CameraManipulator is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...
class  CameraManipulatorFollow
 CameraManipulatorFollow is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...
class  CameraManipulatorRace
 CameraManipulatorRace is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...
class  CameraManipulatorTV
 CameraManipulatorTV is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...
class  ExtendedViewer
 A Producer-based viewer. More...
struct  Indices
struct  Vertex
class  HeightField
 Height field primitive. More...
class  InvisibleBox
class  InvisibleSphere
class  InvisibleCapsule
class  Joint
class  OneAxisJoint
class  TwoAxisJoint
class  FixedJoint
class  HingeJoint
class  Hinge2Joint
class  UniversalJoint
class  BallJoint
class  SliderJoint
class  MotionBlurDrawCallback
 a class that enables motion blur for the scenegraph should be called in the main simulation loop More...
class  OSGHeightField
 Graphical HeightField. More...
class  OSGPrimitive
 Interface class for graphic primitives like spheres, boxes, and meshes, which can be drawn by OSG. More...
class  OSGDummy
 A dummy graphical object, which has no representation in the graphical world. More...
class  OSGPlane
 Graphical plane (represented as a large thin box, because OSG does not draw planes). More...
class  OSGBox
 Graphical box. More...
class  OSGSphere
 Graphical sphere. More...
class  OSGCapsule
 Graphical capsule (a cylinder with round ends). More...
class  OSGCylinder
 Graphical cylinder. More...
class  OSGMesh
 Graphical Mesh or arbitrary OSG model. More...
class  Primitive
 Interface class for primitives represented in the physical and graphical world. More...
class  Plane
 Plane primitive. More...
class  Box
 Box primitive. More...
class  Sphere
 Sphere primitive. More...
class  Capsule
 Capsule primitive. More...
class  Cylinder
 Cylinder primitive. More...
class  Mesh
 Mesh primitive. More...
class  Transform
 Primitive for transforming a geom (primitive without body) in respect to a body (primitive with body). More...
class  DummyPrimitive
 Dummy Primitive which returns 0 for geom and body. More...
struct  Arm2SegmConf
class  Arm2Segm
struct  repSlider
struct  AtomConf
struct  TableLine
class  AtomComponent
 AtomComponent. More...
class  AtomComponent::connectionAddition
class  Barrel2Masses
 A barrel-like robot with 2 internal masses, which can slide on their orthogonal axes. More...
class  CaterPillar
 This is a class, which models a snake like robot. More...
struct  _ComponentConf
class  Component
 This is the abstract base class of the component system. More...
struct  Component::componentConnection
 This is the structure of one connection between two components. More...
struct  CaterPillarConf
class  DefaultCaterPillar
 This is a class, which models a snake like robot. More...
struct  WheelieConf
class  DefaultWheelie
 This is a class, which models a snake like robot. More...
class  ForcedSphereConf
class  ForcedSphere
class  Formel1
 Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body. More...
class  HurlingSnake
 Hurling snake is a string a beats. More...
struct  MuscledArmConf
class  MuscledArm
struct  Bumper
struct  Nimm2Conf
class  Nimm2
 Robot that looks like a Nimm 2 Bonbon :-) 2 wheels and a cylinder like body. More...
class  Nimm4
 Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a capsule like body. More...
class  OdeRobot
 Abstract class for ODE robots. More...
class  PlattfussSchlange
 This is a class, which models a snake like robot with flat ends and a big body in the middle. More...
class  PrimitiveComponent
 Component consisting of one Primitive. More...
class  RobotComponent
 This is a special class of the component system. More...
struct  SchlangeConf
class  Schlange
 This is a class, which models a snake like robot. More...
class  SchlangeForce
 This is a class, which models a snake like robot. More...
class  SchlangeServo
 This is a class, which models a snake like robot. More...
class  SchlangeServo2
 This is a class, which models a snake like robot. More...
class  SchlangeVelocity
 This is a class, which models a snake like robot. More...
class  ShortCircuit
class  SimpleComponent
 A simple component is a special form of component. More...
struct  SliderWheelieConf
class  SliderWheelie
 This is a class, which models an annular robot. More...
struct  SphererobotConf
class  Sphererobot
 This is a class, which models a snake like robot. More...
struct  Sphererobot3MassesConf
 configuration object for the Sphererobot3Masses robot. More...
class  Sphererobot3Masses
 A spherical robot with 3 internal masses, which can slide on their orthogonal axes. More...
class  TruckMesh
 Robot that looks like a Nimm 2 Bonbon :-) 4 wheels and a truck mesh like body. More...
struct  UwoConf
class  Uwo
 UWO: Unknown Walk Object :-), looks like a plate with a lot of legs. More...
class  Wheelie
 This is a class, which models an annular robot. More...
class  AxisOrientationSensor
 Class for sensing the axis orienation of a primitive (robot). More...
class  IRSensor
 Class for IR sensors. More...
class  RaySensor
 Abstract class for Ray-based sensors. More...
class  RaySensorBank
 Class for a bank (collection) of ray sensors. More...
class  RelativePositionSensor
 Class for relative position sensing. More...
class  Sensor
 Abstract class for sensors that have no specific position at the robots skeleton. More...
class  SpeedSensor
 Class for speed sensing of robots. More...
class  Simulation
struct  HandConf
class  Hand
 Artificial Hand. More...
class  Axis
class  Color
class  IException
struct  GlobalData
 Data structure holding all essential global information. More...
class  VideoStream
class  OdeHandle
 Data structure for accessing the ODE. More...
class  OsgHandle
 Data structure for accessing the ODE. More...
class  Pos

Typedefs

typedef lpzrobots::_ComponentConf ComponentConf
typedef lpzrobots::Bumper Bumper
typedef std::vector< AbstractObstacle * > ObstacleList
typedef std::vector< Configurable * > ConfigList
typedef std::vector< OdeAgent * > OdeAgentList
typedef lpzrobots::GlobalData GlobalData
 Data structure holding all essential global information.

Enumerations

enum  parts {
  base, upperArm, lowerArm, mainMuscle11,
  mainMuscle12, mainMuscle21, mainMuscle22, smallMuscle11,
  smallMuscle12, smallMuscle21, smallMuscle22, smallMuscle31,
  smallMuscle32, smallMuscle41, smallMuscle42, hand,
  NUMParts
}
enum  joints {
  HJ_BuA, HJ_uAlA, HJ_BmM11, HJ_lAmM12,
  HJ_BmM21, HJ_lAmM22, HJ_BsM11, HJ_uAsM12,
  HJ_BsM21, HJ_uAsM22, HJ_lAsM31, HJ_uAsM32,
  HJ_lAsM41, HJ_uAsM42, SJ_mM1, SJ_mM2,
  SJ_sM1, SJ_sM2, SJ_sM3, SJ_sM4,
  FJ_lAH, NUMJoints
}
enum  Hand_Is_Drawn_Under_Angel { Is_Draw_under_180_degree, Is_Draw_under_90_degree }
enum  Motor_type { With_servo_motor, Without_servo_motor }
enum  IrSensor_Type { irDrawAll, irBack, irSide, irFront }
enum  Draw_Part_of_Ir_Sensor { Draw_All, Draw_just_Sensor, Draw_just_Ray, Draw_Nothing }
enum  GripMode { lateral, precision }

Functions

ref_ptr< Material > getMaterial (const Color &c, Material::ColorMode mode=Material::DIFFUSE)
osg::Matrix osgPose (dGeomID geom)
 returns the osg (4x4) pose matrix of the ode geom
osg::Matrix osgPose (dBodyID body)
 returns the osg (4x4) pose matrix of the ode body
osg::Matrix osgPose (const double *V, const double *R)
 converts a position vector and a rotation matrix from ode to osg 4x4 matrix
void odeRotation (const osg::Matrix &pose, dMatrix3 &odematrix)
 converts the rotation component of pose into an ode rotation matrix
int contains (char **list, int len, const char *str)
 returns the index+1 if the list contains the given string or 0 if not
void showParams (const ConfigList &configs)
 shows all parameters of all given configurable objects
void changeParams (GlobalData &globalData)
 offers the possibility to change parameter of all configurable objects in globalData.
void createNewDir (const char *base, char *newdir)
 creates a new directory with the stem base, which is not yet there (using subsequent numbers)
 EXCEPTION_TEMPLATE (IndexOutOfBoundsException)
 EXCEPTION_TEMPLATE (InvalidArgumentException)
 EXCEPTION_TEMPLATE (DimensionMismatchException)
osg::Matrix osgRotate (const double &alpha, const double &beta, const double &gamma)
 returns a rotation matrix (osg) with the given angles alpha, beta and gamma
Matrix osgMatrix2Matrixlib (const osg::Matrix &m)
 converts osg matrix to matrix of matrixlib
osg::Matrix rotationMatrixFromAxisX (const Axis &axis)
 returns a Rotation matrix that rotates the x-axis along with the given axis.
osg::Matrix rotationMatrixFromAxisZ (const Axis &axis)
 returns a Rotation matrix that rotates the z-axis along with the given axis.
double getAngle (const osg::Vec3 &a, const osg::Vec3 &b)
 returns the angle between two vectors (in rad)
matrix::Matrix odeRto3x3RotationMatrixT (const double R[12])
 converts an ode rotation matrix into a 3x3 rotation matrix (matrixlib)
matrix::Matrix odeRto3x3RotationMatrix (const double R[12])
 converts an ode rotation matrix into a 3x3 rotation matrix (matrixlib)
Position multMatrixPosition (const Matrix &r, Position &p)
 Multiplies 3x3 matrix with position.
Matrix getRotationMatrix (const double &angle)
 returns a rotation matrix with the given angle
Matrix getTranslationMatrix (const Position &p)
 returns a translation matrix with the given Position
Matrix removeTranslationInMatrix (const Matrix &pose)
 removes the translation in the matrix
Matrix removeRotationInMatrix (const Matrix &pose)
 removes the rotation in the matrix
double getAngle (Position a, Position b)
 returns the angle between two vectors
template<typename T> T clip (T v, T minimum, T maximum)
template<typename T> T abs (T v)
template<typename T> T normalize360 (T v)

Variables

char fragmentShaderSource_noBaseTexture []
char fragmentShaderSource_withBaseTexture []


Typedef Documentation

typedef struct lpzrobots::Bumper Bumper
 

typedef struct lpzrobots::_ComponentConf ComponentConf
 

typedef std::vector<Configurable*> ConfigList
 

typedef struct lpzrobots::GlobalData GlobalData
 

Data structure holding all essential global information.

typedef std::vector<AbstractObstacle*> ObstacleList
 

typedef std::vector<OdeAgent*> OdeAgentList
 


Enumeration Type Documentation

enum Draw_Part_of_Ir_Sensor
 

Enumeration values:
Draw_All 
Draw_just_Sensor 
Draw_just_Ray 
Draw_Nothing 

enum GripMode
 

Enumeration values:
lateral 
precision 

enum Hand_Is_Drawn_Under_Angel
 

Enumeration values:
Is_Draw_under_180_degree 
Is_Draw_under_90_degree 

enum IrSensor_Type
 

Enumeration values:
irDrawAll 
irBack 
irSide 
irFront 

enum joints
 

Enumeration values:
HJ_BuA 
HJ_uAlA 
HJ_BmM11 
HJ_lAmM12 
HJ_BmM21 
HJ_lAmM22 
HJ_BsM11 
HJ_uAsM12 
HJ_BsM21 
HJ_uAsM22 
HJ_lAsM31 
HJ_uAsM32 
HJ_lAsM41 
HJ_uAsM42 
SJ_mM1 
SJ_mM2 
SJ_sM1 
SJ_sM2 
SJ_sM3 
SJ_sM4 
FJ_lAH 
NUMJoints 

enum Motor_type
 

Enumeration values:
With_servo_motor 
Without_servo_motor 

enum parts
 

Enumeration values:
base 
upperArm 
lowerArm 
mainMuscle11 
mainMuscle12 
mainMuscle21 
mainMuscle22 
smallMuscle11 
smallMuscle12 
smallMuscle21 
smallMuscle22 
smallMuscle31 
smallMuscle32 
smallMuscle41 
smallMuscle42 
hand 
NUMParts 


Function Documentation

T abs T  v  )  [inline]
 

void changeParams GlobalData globalData  ) 
 

offers the possibility to change parameter of all configurable objects in globalData.

T clip T  v,
T  minimum,
T  maximum
[inline]
 

int contains char **  list,
int  len,
const char *  str
 

returns the index+1 if the list contains the given string or 0 if not

Examples:
integration/main.cpp, and main.cpp.

void createNewDir const char *  base,
char *  newdir
 

creates a new directory with the stem base, which is not yet there (using subsequent numbers)

EXCEPTION_TEMPLATE DimensionMismatchException   ) 
 

EXCEPTION_TEMPLATE InvalidArgumentException   ) 
 

EXCEPTION_TEMPLATE IndexOutOfBoundsException   ) 
 

double getAngle Position  a,
Position  b
 

returns the angle between two vectors

double getAngle const osg::Vec3 a,
const osg::Vec3 b
 

returns the angle between two vectors (in rad)

ref_ptr< Material > getMaterial const Color &  c,
Material::ColorMode  mode = Material::DIFFUSE
 

matrix::Matrix getRotationMatrix const double &  angle  ) 
 

returns a rotation matrix with the given angle

matrix::Matrix getTranslationMatrix const Position p  ) 
 

returns a translation matrix with the given Position

Position multMatrixPosition const matrix::Matrix r,
Position p
 

Multiplies 3x3 matrix with position.

T normalize360 T  v  )  [inline]
 

void odeRotation const osg::Matrix pose,
dMatrix3 &  odematrix
 

converts the rotation component of pose into an ode rotation matrix

matrix::Matrix odeRto3x3RotationMatrix const double  R[12]  ) 
 

converts an ode rotation matrix into a 3x3 rotation matrix (matrixlib)

Examples:
sphererobot3masses.cpp.

matrix::Matrix odeRto3x3RotationMatrixT const double  R[12]  ) 
 

converts an ode rotation matrix into a 3x3 rotation matrix (matrixlib)

matrix::Matrix osgMatrix2Matrixlib const osg::Matrix m  ) 
 

converts osg matrix to matrix of matrixlib

osg::Matrix osgPose const double *  position,
const double *  rotation
 

converts a position vector and a rotation matrix from ode to osg 4x4 matrix

osg::Matrix osgPose dBodyID  body  ) 
 

returns the osg (4x4) pose matrix of the ode body

osg::Matrix osgPose dGeomID  geom  ) 
 

returns the osg (4x4) pose matrix of the ode geom

osg::Matrix osgRotate const double &  alpha,
const double &  beta,
const double &  gamma
 

returns a rotation matrix (osg) with the given angles alpha, beta and gamma

Matrix removeRotationInMatrix const matrix::Matrix pose  ) 
 

removes the rotation in the matrix

Matrix removeTranslationInMatrix const matrix::Matrix pose  ) 
 

removes the translation in the matrix

osg::Matrix rotationMatrixFromAxisX const Axis &  axis  ) 
 

returns a Rotation matrix that rotates the x-axis along with the given axis.

The other 2 axis (y,z) are ambiguous.

osg::Matrix rotationMatrixFromAxisZ const Axis &  axis  ) 
 

returns a Rotation matrix that rotates the z-axis along with the given axis.

The other 2 axis (x,y) are ambiguous.

void showParams const ConfigList configs  ) 
 

shows all parameters of all given configurable objects


Variable Documentation

char fragmentShaderSource_noBaseTexture[]
 

Initial value:

"uniform sampler2DShadow shadowTexture; \n" "uniform vec2 ambientBias; \n" "\n" "void main(void) \n" "{ \n" " ambientBias.x=0.8f; \n" " ambientBias.y=0.4f; \n" " gl_FragColor = gl_Color * (ambientBias.x + shadow2DProj( shadowTexture, gl_TexCoord[0] ) * ambientBias.y - 0.4f); \n" "}\n"

char fragmentShaderSource_withBaseTexture[]
 

Initial value:

"uniform sampler2D baseTexture; \n" "uniform sampler2DShadow shadowTexture; \n" "uniform vec2 ambientBias; \n" "\n" "void main(void) \n" "{ \n" " vec4 color = gl_Color* texture2D( baseTexture, gl_TexCoord[0].xy ); \n" " gl_FragColor = color * (ambientBias.x + shadow2DProj( shadowTexture, gl_TexCoord[1]) * ambientBias.y); \n" "}\n"


Generated on Tue Jan 16 02:14:49 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8