SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Friends
Macros
Groups
Pages
src
scl
graphics
chai
data_structs
SGraphicsChaiRigidBody.hpp
1
/* This file is part of scl, a control and simulation library
2
for robots and biomechanical models.
3
4
scl is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 3 of the License, or (at your option) any later version.
8
9
Alternatively, you can redistribute it and/or
10
modify it under the terms of the GNU General Public License as
11
published by the Free Software Foundation; either version 2 of
12
the License, or (at your option) any later version.
13
14
scl is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
GNU General Public License for more details.
18
19
You should have received a copy of the GNU Lesser General Public
20
License and a copy of the GNU General Public License along with
21
scl. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
/* \file SGraphicsChaiRigidBody.hpp
24
*
25
* Created on: Oct 28, 2013
26
*
27
* Copyright (C) 2013
28
*
29
* Author: Samir Menon <smenon@stanford.edu>
30
*/
31
#ifndef SGRAPHICSCHAIRIGIDBODY_HPP_
32
#define SGRAPHICSCHAIRIGIDBODY_HPP_
33
34
#include <scl/DataTypes.hpp>
35
#include <scl/data_structs/SObject.hpp>
36
#include <scl/data_structs/SRigidBody.hpp>
37
#include <scl/data_structs/SRobotIO.hpp>
38
43
namespace
chai3d
44
{
45
class
cGenericObject;
46
}
47
48
namespace
scl
49
{
53
struct
SGraphicsChaiRigidBody
54
{
55
public
:
56
const
SRigidBody
* robot_link_;
57
chai3d::cGenericObject* graphics_obj_;
58
const
SRobotIO
* io_data_;
59
sInt
io_data_idx_;
60
66
std::string
name_
, parent_name_;
67
SGraphicsChaiRigidBody
* parent_addr_;
68
std::vector<SGraphicsChaiRigidBody*> child_addrs_;
69
70
71
SGraphicsChaiRigidBody
() :
72
robot_link_(S_NULL),
73
graphics_obj_(S_NULL),
74
io_data_(S_NULL),
75
io_data_idx_ (-1),
76
name_
(
""
),
77
parent_name_(
""
),
78
parent_addr_(NULL)
79
{ }
80
~
SGraphicsChaiRigidBody
(){}
81
};
82
87
struct
SGraphicsChaiMesh
88
{
89
public
:
90
// Eigen requires redefining the new operator for classes that contain fixed size Eigen member-data.
91
// See http://eigen.tuxfamily.org/dox/StructHavingEigenMembers.html
92
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
93
95
Eigen::Matrix3d
rotation_
;
96
98
Eigen::Vector3d
translation_
;
99
103
chai3d::cGenericObject*
graphics_obj_
;
104
};
105
}
106
107
#endif
scl::SRobotIO
Definition:
SRobotIO.hpp:107
scl::SGraphicsChaiRigidBody::name_
std::string name_
Definition:
SGraphicsChaiRigidBody.hpp:66
scl::SRigidBody
Definition:
SRigidBody.hpp:94
scl::SGraphicsChaiMesh
Definition:
SGraphicsChaiRigidBody.hpp:87
scl::SGraphicsChaiMesh::translation_
Eigen::Vector3d translation_
Definition:
SGraphicsChaiRigidBody.hpp:98
scl::SGraphicsChaiMesh::graphics_obj_
chai3d::cGenericObject * graphics_obj_
Definition:
SGraphicsChaiRigidBody.hpp:103
scl::SGraphicsChaiRigidBody
Definition:
SGraphicsChaiRigidBody.hpp:53
scl::sInt
int sInt
Definition:
DataTypes.hpp:64
scl::SGraphicsChaiMesh::rotation_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Matrix3d rotation_
Definition:
SGraphicsChaiRigidBody.hpp:95
Generated on Sun Sep 14 2014 02:35:55 for SCL by
1.8.6