Image Component Library (ICL)
|
Classes | |
class | BallSocketConstraint |
This constraint simulates a ballsocket joint. More... | |
struct | BendingConstraint |
class | Constraint |
Base Class for constraints. More... | |
class | FoldMap |
discretized paper space representing folds More... | |
class | HingeConstraint |
This constraint simulates a Hinge joint. More... | |
class | ManipulatablePaper |
extension of the standard physical paper class More... | |
class | MotionState |
This class is a MotionState for updating SceneObjects to match the PhysicsObject state. More... | |
class | Object2PointConstraint |
This constraint binds an object to a point with a spring. More... | |
class | PhysicsMouseHandler |
This mousehandler can pick up object and move them around. More... | |
class | PhysicsObject |
This class combines an physical object and it's graphical representation in ICL. More... | |
class | PhysicsPaper |
This class represents cloth or paper like soft-body objects. More... | |
class | PhysicsPaper3 |
class | PhysicsPaper3ContextMenu |
class | PhysicsPaper3MouseHandler |
class | PhysicsScene |
class | PhysicsWorld |
A physical world that handles physical objects. More... | |
class | RigidBoxObject |
A Box that can with RigidObject features. More... | |
class | RigidCompoundObject |
A Box that can with RigidObject features. More... | |
class | RigidConvexHullObject |
ConvexHullObject witht he features of a RigidObject that can be created from a pointcloud. More... | |
class | RigidCylinderObject |
Cylinder with the features of a RigidObject. More... | |
class | RigidObject |
This class combines a movable but rigid physics object and it's graphical representation in ICL. More... | |
class | RigidSphereObject |
Sphere with the features of a RigidObject. More... | |
class | SceneMultiCamCapturer |
class | SixDOFConstraint |
This is a generic constraint that allows to free configuration of the limits on all 6 degrees of freedom. More... | |
class | SliderConstraint |
This constraint simulates a Slider joint. More... | |
class | SoftObject |
This class combines a soft-body physics object and it's graphical representation in ICL. More... | |
class | TriangleIntersectionEstimator |
Functions | |
bool | line_segment_intersect (const utils::Point32f &a, const utils::Point32f &b, const utils::Point32f &c, const utils::Point32f &d, utils::Point32f *dst=0, float *dstr=0, float *dsts=0) |
bool | point_in_triangle (const utils::Point32f &p, const utils::Point32f &v1, const utils::Point32f &v2, const utils::Point32f &v3) |
Checks whether the given point p lies within the triangle defined by v1,v2 and v3. More... | |
float | icl2bullet (float x) |
Converts from icl to bullet units. More... | |
float | bullet2icl (float x) |
Converts from bullet to icl units. More... | |
geom::Mat | bullet2icl (const btTransform &T) |
Creates an icl Mat from a bullet transform and scales accordingly. More... | |
btTransform | icl2bullet_unscaled_mat (const geom::Mat &M) |
btTransform | icl2bullet_scaled_mat (const geom::Mat &M) |
Creates a bullet transform from an icl Mat and scales accordingly. More... | |
btVector3 | icl2bullet_unscaled (const geom::Vec &v) |
Creates a bullet vector from an icl vector WITHOUT scaling. More... | |
geom::Vec | bullet2icl_unscaled (const btVector3 &v) |
Creates an icl vector from a bullet vector WITHOUT scaling. More... | |
btVector3 | icl2bullet_scaled (const geom::Vec &v) |
Creates a bullet vector from an icl vector WITH scaling. More... | |
geom::Vec | bullet2icl_scaled (const btVector3 &v) |
Creates an icl vector from a bullet vector WITH scaling. More... | |
void ICLPhysics_API | remove_fallen_objects (geom::Scene *scene, PhysicsWorld *world, float minZ=-2000) |
removes all rigid object from the given scene and world that are below minZ More... | |
void ICLPhysics_API | add_clutter (geom::Scene *scene, PhysicsWorld *world, int num=30) |
adds num random objects More... | |
void ICLPhysics_API | calcDistance (PhysicsObject *a, PhysicsObject *b, geom::Vec &pointOnA, geom::Vec &pointOnB, float &distance) |
Calculates the distance between the 2 closest points of the objects a and b. More... | |
void ICLPhysics_API | calcDistance (PhysicsObject *a, PhysicsObject *b, geom::Mat transA, geom::Mat transB, geom::Vec &pointOnA, geom::Vec &pointOnB, float &distance) |
Calculates the distance between the 2 closest points of the objects a and b. More... | |
void ICLPhysics_API | createObjectsFromBlobs (const std::vector< std::vector< int > > &indices, const std::vector< geom::Vec > &vertices, std::vector< PhysicsObject * > &objects) |
Creates primitives from blobs. The last blob is assumed to be the Table the objects rest on. More... | |
Variables | |
ICLPhysics_API float | ICL_UNIT_TO_METER |
ICLPhysics_API float | METER_TO_BULLET_UNIT |
void ICLPhysics_API icl::physics::add_clutter | ( | geom::Scene * | scene, |
PhysicsWorld * | world, | ||
int | num = 30 |
||
) |
adds num random objects
|
inline |
Converts from bullet to icl units.
|
inline |
Creates an icl Mat from a bullet transform and scales accordingly.
|
inline |
Creates an icl vector from a bullet vector WITH scaling.
|
inline |
Creates an icl vector from a bullet vector WITHOUT scaling.
void ICLPhysics_API icl::physics::calcDistance | ( | PhysicsObject * | a, |
PhysicsObject * | b, | ||
geom::Vec & | pointOnA, | ||
geom::Vec & | pointOnB, | ||
float & | distance | ||
) |
Calculates the distance between the 2 closest points of the objects a and b.
void ICLPhysics_API icl::physics::calcDistance | ( | PhysicsObject * | a, |
PhysicsObject * | b, | ||
geom::Mat | transA, | ||
geom::Mat | transB, | ||
geom::Vec & | pointOnA, | ||
geom::Vec & | pointOnB, | ||
float & | distance | ||
) |
Calculates the distance between the 2 closest points of the objects a and b.
void ICLPhysics_API icl::physics::createObjectsFromBlobs | ( | const std::vector< std::vector< int > > & | indices, |
const std::vector< geom::Vec > & | vertices, | ||
std::vector< PhysicsObject * > & | objects | ||
) |
Creates primitives from blobs. The last blob is assumed to be the Table the objects rest on.
|
inline |
Converts from icl to bullet units.
|
inline |
Creates a bullet vector from an icl vector WITH scaling.
|
inline |
Creates a bullet transform from an icl Mat and scales accordingly.
|
inline |
Creates a bullet vector from an icl vector WITHOUT scaling.
|
inline |
bool icl::physics::line_segment_intersect | ( | const utils::Point32f & | a, |
const utils::Point32f & | b, | ||
const utils::Point32f & | c, | ||
const utils::Point32f & | d, | ||
utils::Point32f * | dst = 0 , |
||
float * | dstr = 0 , |
||
float * | dsts = 0 |
||
) |
bool icl::physics::point_in_triangle | ( | const utils::Point32f & | p, |
const utils::Point32f & | v1, | ||
const utils::Point32f & | v2, | ||
const utils::Point32f & | v3 | ||
) |
Checks whether the given point p lies within the triangle defined by v1,v2 and v3.
void ICLPhysics_API icl::physics::remove_fallen_objects | ( | geom::Scene * | scene, |
PhysicsWorld * | world, | ||
float | minZ = -2000 |
||
) |
removes all rigid object from the given scene and world that are below minZ
ICLPhysics_API float icl::physics::ICL_UNIT_TO_METER |
ICLPhysics_API float icl::physics::METER_TO_BULLET_UNIT |