Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RandomObstacles Class Reference

Passive random obstacles: with spawn and remove obstacles can be created and removed. More...

#include <randomobstacles.h>

Inheritance diagram for RandomObstacles:
Collaboration diagram for RandomObstacles:

Public Types

enum  OType { Box, Sphere, Caps, ORandom }
 
enum  SType {
  Metal, Plastic, Rubber, Foam,
  SRandom
}
 

Public Member Functions

 RandomObstacles (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const RandomObstaclesConf &conf=getDefaultConf())
 
virtual void setPose (const osg::Matrix &pose)
 sets position of the obstacle and creates/recreates obstacle if necessary More...
 
virtual PrimitivegetMainPrimitive () const
 return the "main" primitive of the obtactle. The meaning of "main" is arbitrary More...
 
virtual void create ()
 overload this function to create the obstactle. All primitives should go into the list "obst" More...
 
virtual void remove (bool all=false)
 
virtual void spawn (OType type=ORandom, SType subtype=SRandom)
 
- Public Member Functions inherited from AbstractObstacle
 AbstractObstacle (const OdeHandle &odeHandle, const OsgHandle &osgHandle)
 Constructor. More...
 
virtual ~AbstractObstacle ()
 
virtual void update ()
 updates the position if the scenegraph nodes the default implementation calls update on all primitive on "obst" More...
 
virtual void setPos (const osg::Vec3 &pos)
 sets position of the obstacle and creates/recreates obstacle if necessary More...
 
virtual void setPosition (const osg::Vec3 &pos)
 sets position of the obstacle and creates/recreates obstacle if necessary More...
 
virtual osg::Vec3 getPos ()
 gives actual position of the obstacle More...
 
virtual osg::Matrix getPose ()
 gives actual pose of the obstacle More...
 
virtual void setColor (const Color &color)
 sets the obstacle color More...
 
virtual void setColor (const std::string &color)
 
virtual void setTexture (const std::string &texturefilename)
 assigns a texture to the all primitives of this obstactle with repeat -1,-1 More...
 
virtual void setTexture (const TextureDescr &texture)
 assigns a texture to the all primitives of this obstactle More...
 
virtual void setTexture (int surface, const TextureDescr &texture)
 assigns a texture to the x-th surface of each primitive, More...
 
virtual void setTexture (int primitive, int surface, const TextureDescr &texture)
 assigns a texture to the x-th surface of the k-th primitive, (The texture setting of the last primitve is repeated for the remaining ones) More...
 
virtual TextureDescr getTexture (int primitive, int surface) const
 returns the texture of the given surface on the given primitive More...
 
virtual std::vector< TextureDescrgetTextures (int primitive) const
 returns the textures of the given primitive More...
 
virtual void setSubstance (const Substance &substance)
 sets the substance of the obtactle. More...
 
virtual const SubstancegetSubstance ()
 returns the substance of this obstacle More...
 
virtual Position getPosition () const
 returns position of the object More...
 
virtual Position getSpeed () const
 returns linear speed vector of the object More...
 
virtual Position getAngularSpeed () const
 returns angular velocity vector of the object More...
 
virtual matrix::Matrix getOrientation () const
 returns the orientation of the object More...
 

Static Public Member Functions

static RandomObstaclesConf getDefaultConf (AbstractGround *ground=0)
 creates a default configuration, optionally with the size and position of the ground More...
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractObstacle
virtual void destroy ()
 is called to destroy the object. The default implementation is to delete all primitives in "obst". More...
 
- Protected Attributes inherited from AbstractObstacle
std::vector< Primitive * > obst
 primitives which belong to this obstacle More...
 
std::vector< std::vector
< TextureDescr > > 
textures
 for each primitive the texture settings per surface More...
 
osg::Matrix pose
 
bool obstacle_exists
 
OdeHandle odeHandle
 
OsgHandle osgHandle
 

Detailed Description

Passive random obstacles: with spawn and remove obstacles can be created and removed.

Add an instance to global.obstacles to customize the creation otherwise a default version is used (though dependend on the playground)

Member Enumeration Documentation

enum OType
Enumerator
Box 
Sphere 
Caps 
ORandom 
enum SType
Enumerator
Metal 
Plastic 
Rubber 
Foam 
SRandom 

Constructor & Destructor Documentation

RandomObstacles ( const OdeHandle odeHandle,
const OsgHandle osgHandle,
const RandomObstaclesConf conf = getDefaultConf() 
)

Member Function Documentation

virtual void create ( )
inlinevirtual

overload this function to create the obstactle. All primitives should go into the list "obst"

Implements AbstractObstacle.

static RandomObstaclesConf getDefaultConf ( AbstractGround ground = 0)
inlinestatic

creates a default configuration, optionally with the size and position of the ground

Primitive * getMainPrimitive ( ) const
virtual

return the "main" primitive of the obtactle. The meaning of "main" is arbitrary

Implements AbstractObstacle.

void remove ( bool  all = false)
virtual
void setPose ( const osg::Matrix pose)
virtual

sets position of the obstacle and creates/recreates obstacle if necessary

Implements AbstractObstacle.

void spawn ( OType  type = ORandom,
SType  subtype = SRandom 
)
virtual

The documentation for this class was generated from the following files: