# opentl::models::ObjModel Class Reference

Class for storing (generic/specific) object model data for the targets to be tracked. The object models are linked to the tracks/targets by using an object model pointer within a state. More...

List of all members.

## Public Member Functions
opentl::core::cvdata::ShapeAppearance & | getShapeApp () const
| Get ShapeAppearance of this object model.
| ObjModel (opentl::core::cvdata::ShapeAppearance *shape, opentl::core::cvdata::CvData::DataReprType poseType, opentl::core::cvdata::Pose::T_UPDATEMODE updateMode=opentl::core::cvdata::Pose::COMPOSITIONAL, std::vector< math::Vector2 > *poseLimits=NULL, models::Motion::MotionType motionType=models::Motion::BROWNIAN, opentl::core::cvdata::CvData::DataReprType internalPoseType=opentl::core::cvdata::CvData::POSE_NULL, std::vector< math::Vector2 > *verticesList=NULL, std::vector< std::vector< std::size_t > > *trianglesList=NULL, math::Matrix *deformationModes=NULL)
| Constructor.
virtual | ~ObjModel ()
| Destructor.
## Public Attributes
models::Motion * | motion
| Pointer to the object's motion model.
opentl::core::cvdata::Pose * | mPose
| Template pose for new targets.
boost::shared_ptr < opentl::core::State > | mState

## Detailed Description

Class for storing (generic/specific) object model data for the targets to be tracked. The object models are linked to the tracks/targets by using an object model pointer within a state.

Author:
  Thomas Friedlhuber <friedlhu@in.tum.de>

  Erwin Roth <eroth@mytum.de>

  Thorsten Röder <roeder@in.tum.de>

## Constructor & Destructor Documentation

opentl::models::ObjModel::ObjModel | ( | opentl::core::cvdata::ShapeAppearance * | shape,
|  | opentl::core::cvdata::CvData::DataReprType | poseType,
|  | opentl::core::cvdata::Pose::T_UPDATEMODE | updateMode = `opentl::core::cvdata::Pose::COMPOSITIONAL`,
|  | std::vector< math::Vector2 > * | poseLimits = `NULL`,
|  | models::Motion::MotionType | motionType = `models::Motion::BROWNIAN`,
|  | opentl::core::cvdata::CvData::DataReprType | internalPoseType = `opentl::core::cvdata::CvData::POSE_NULL`,
|  | std::vector< math::Vector2 > * | verticesList = `NULL`,
|  | std::vector< std::vector< std::size_t > > * | trianglesList = `NULL`,
|  | math::Matrix * | deformationModes = `NULL` |
| ) |  |  |

Constructor.

Parameters:

  | shape | Shape and appearance model
  | poseType | Pose class
  | updateMode | Pose update mode (COMPOSITIONAL or ADDITIVE)
  | poseLimits | Upper and lower limits of finite pose parameters (bounding box)
  | motionType | Dynamical model (default = Brownian motion)
  | internalPoseType | Type of internal poses (for multi-link, synchronous pose only)
  | verticesList | pointer to list of vertices
  | trianglesList | pointer to list of triangles
  | deformationModes | Matrix of linear deformation modes (for deformable meshes only)

virtual opentl::models::ObjModel::~ObjModel | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

opentl::core::cvdata::ShapeAppearance& opentl::models::ObjModel::getShapeApp | ( |  | ) | const`[inline]`

Get ShapeAppearance of this object model.

Returns:
  Pointer to ShapeAppearance.

## Member Data Documentation

models::Motion* opentl::models::ObjModel::motion

Pointer to the object's motion model.

opentl::core::cvdata::Pose* opentl::models::ObjModel::mPose

Template pose for new targets.

boost::shared_ptr<opentl::core::State> opentl::models::ObjModel::mState