54 mass(mass), texture(0) {
61 this->pose = osg::Matrix::translate(0,0,dimension.z()/2.0) *
pose;
75 support =
new Box(dimension.y()*0.9, dimension.y()/2.0, dimension.z());
79 obst.push_back(support);
82 bar =
new Box(dimension.y(), dimension.x(), dimension.y()/6.0);
84 bar->
init(odeHandle, mass, osgHandle);
85 bar->
setPose(osg::Matrix::translate(0,0,dimension.z()/2.0) *
pose);
91 joint->
init(odeHandle, osgHandle,
true, dimension.y()*1.05,
false);
Data structure for accessing the ODE.
Definition: odehandle.h:44
Seesaw(const OdeHandle &odeHandle, const OsgHandle &osgHandle, const osg::Vec3 &dimension=osg::Vec3(4.0, 0.6, 0.3), double mass=1.0)
Constructor the support of the seesaw is fixed to the world.
Definition: seesaw.h:51
OsgHandle osgHandle
Definition: abstractobstacle.h:174
virtual std::vector< TextureDescr > getTextures(int primitive) const
returns the textures of the given primitive
Definition: abstractobstacle.cpp:147
virtual void setTexture(const std::string &texturefilename)
assigns a texture to the all primitives of this obstactle with repeat -1,-1
Definition: abstractobstacle.cpp:107
Abstract class (interface) for obstacles.
Definition: abstractobstacle.h:46
Seesaw.
Definition: seesaw.h:39
osg::Vec3 toGlobal(const osg::Vec3 &pos) const
transforms the given point in local corrds of the primitive to global coordinates ...
Definition: primitive.cpp:307
Matrixd Matrix
Definition: osgforwarddecl.h:47
bool obstacle_exists
Definition: abstractobstacle.h:171
OdeHandle odeHandle
Definition: abstractobstacle.h:173
Data structure for accessing the OpenSceneGraph.
Definition: osghandle.h:79
Definition: primitive.h:89
virtual void setPose(const osg::Matrix &pose)
sets position of the obstacle and creates/recreates obstacle if necessary
Definition: seesaw.h:60
Vec3f Vec3
Definition: osgforwarddecl.h:42
Definition: primitive.h:89
Interface class for primitives represented in the physical and graphical world.
Definition: primitive.h:80
virtual Primitive * getMainPrimitive() const
return the "main" primitive of the obtactle. The meaning of "main" is arbitrary
Definition: seesaw.h:67
std::vector< Primitive * > obst
primitives which belong to this obstacle
Definition: abstractobstacle.h:166
Box primitive.
Definition: primitive.h:267
virtual void setTextures(const std::vector< TextureDescr > &textures)
assign a set of texture to the surfaces of the primitive
Definition: primitive.cpp:142
osg::Matrix pose
Definition: abstractobstacle.h:170
virtual void create()
overload this function to create the obstactle. All primitives should go into the list "obst" ...
Definition: seesaw.h:73
virtual void init(const OdeHandle &odeHandle, const OsgHandle &osgHandle, bool withVisual=true, double visualSize=0.2, bool ignoreColl=true)
initialises (and creates) the joint.
Definition: joint.cpp:195
virtual void setPose(const Pose &pose)
set the pose of the primitive
Definition: primitive.cpp:156
virtual Pos getPosition() const
returns the position
Definition: primitive.cpp:181
virtual void init(const OdeHandle &odeHandle, double mass, const OsgHandle &osgHandle, char mode=Body|Geom|Draw)
registers primitive in ODE and OSG.
Definition: primitive.cpp:417