30 #ifndef _LibPhysic_Node
31 #define _LibPhysic_Node
35 #include "GranOO3/Physic/ExtendedSetOf/Node.hpp"
167 virtual std::string
info()
const;
168 virtual std::ostream&
write_ascii (std::ostream& out)
const;
169 virtual std::istream&
read_ascii (std::istream& in);
179 template<
class Archive>
void save(Archive&,
const unsigned int )
const;
180 template<
class Archive>
void load(Archive&,
const unsigned int);
234 _initial_position(position),
235 _center(position.to_point()),
236 _position(_center.to_vector()),
237 _displacement(0.,0.,0.),
239 _linear_velocity(0.,0.,0.),
240 _linear_acceleration(0.,0.,0.),
242 _initial_quat(0.,0.,0.,1.),
245 _angular_vel(0.,0.,0.),
246 _quat_vel(0.,0.,0.,0.),
247 _quat_acc(0.,0.,0.,0.),
248 _frame(_center, _quat, Geom::Frame::global)
250 ,_dof((
const double*&)(_displacement.ptr()))
483 template<
class Archive>
void
485 ar << boost::serialization::base_object<Core::Base>(*
this);
503 template<
class Archive>
void
505 ar >> boost::serialization::base_object<Core::Base>(*
this);
Definition: MArray.hpp:47
Definition: PropClass.hpp:47
Definition: SetOf.hpp:346
Definition: SetOf.hpp:153
Definition: Surface.hpp:47
Definition: EulerAngle.hpp:61
void to_quaternion(Quaternion &) const
Definition: EulerAngle.cpp:44
static const Frame & global
Definition: Frame.hpp:76
Definition: Quaternion.hpp:54
Quaternion conjugate() const
void to_euler_angle(EulerAngle &) const
Definition: Quaternion.cpp:88
Definition: Vector.hpp:75
Definition: Ground.hpp:61
virtual std::ostream & write_ascii(std::ostream &out) const
Definition: Node.cpp:108
void update_initial_parameter_to_current_parameter()
Definition: Node.hpp:404
Geom::EulerAngle _angle
Definition: Node.hpp:211
Node & operator=(const Node &)=delete
void update_displacement_from_position()
Definition: Node.hpp:398
virtual std::ostream & export_to_povray(std::ostream &out) const
Definition: Node.cpp:120
Geom::Point _center
Definition: Node.hpp:187
Geom::Vector _initial_position
Definition: Node.hpp:186
Geom::Vector _angular_vel
Definition: Node.hpp:213
Geom::Quaternion _initial_quat
Definition: Node.hpp:206
void set_position(const Geom::Vector &)
Definition: Node.hpp:348
void set_position_z(const double &)
Definition: Node.hpp:375
virtual void clear_kinematic()
Definition: Node.hpp:435
void apply_torque(const Geom::Vector &)
Definition: Node.hpp:467
void set_quaternion_velocity_from_angular_velocity(const Geom::Vector &angularVelocity)
Definition: Node.hpp:443
virtual double get_mass() const
Definition: Node.cpp:73
void set_displacement_x(const double &)
Definition: Node.hpp:318
void clear_torque()
Definition: Node.hpp:277
virtual ~Node()
Definition: Node.hpp:257
void set_displacement_y(const double &)
Definition: Node.hpp:328
Geom::Vector get_linear_velocity_at(const Geom::Point &) const
Definition: Node.cpp:63
void set_displacement(const Geom::Vector &)
Definition: Node.hpp:301
void apply_force(const Geom::Vector &)
Definition: Node.hpp:462
bool interact_with(const Node &) const
Definition: Node.cpp:58
Geom::Vector _linear_velocity
Definition: Node.hpp:198
Geom::Vector _torque
Definition: Node.hpp:204
void set_displacement_z(const double &)
Definition: Node.hpp:338
void add_interaction(Node &)
Definition: Node.cpp:48
void incremental_move(const Geom::Vector &vec)
Definition: Node.hpp:286
Geom::Vector _force
Definition: Node.hpp:195
Node(const Node &)=delete
const Geom::Frame _frame
Definition: Node.hpp:217
virtual void draw()
Definition: Node.cpp:124
Geom::Vector _linear_acceleration
Definition: Node.hpp:199
Geom::Quaternion _quat
Definition: Node.hpp:207
void make_equal_to(const Node &)
Definition: Node.cpp:79
void clear_displacement()
Definition: Node.hpp:308
void erase_interaction(Node &)
Definition: Node.cpp:53
virtual std::string info() const
Definition: Node.cpp:95
Geom::Vector & _position
Definition: Node.hpp:188
friend class boost::serialization::access
Definition: Node.hpp:178
void save(Archive &, const unsigned int) const
Definition: Node.hpp:484
const Geom::Frame & local_frame() const
Definition: Node.hpp:262
void set_position_y(const double &)
Definition: Node.hpp:365
void incremental_unmove(const Geom::Vector &vec)
Definition: Node.hpp:293
virtual std::istream & read_ascii(std::istream &in)
Definition: Node.cpp:114
Core::SetOfBase< Node > _interaction
Definition: Node.hpp:184
void clear_force()
Definition: Node.hpp:268
void set_quaternion_acceleration_from_angular_acceleration(const Geom::Vector &angularAcceleration, const Geom::Vector &angularVelocity)
Definition: Node.hpp:449
Geom::Quaternion _quat_acc
Definition: Node.hpp:215
void update_position_from_displacement()
Definition: Node.hpp:392
Geom::Vector _displacement
Definition: Node.hpp:194
void update_from_fem()
Definition: Node.hpp:416
void set_position_x(const double &)
Definition: Node.hpp:354
Node()
Definition: Node.hpp:224
void set_center(const Geom::Point &)
Definition: Node.hpp:385
BOOST_SERIALIZATION_SPLIT_MEMBER()
void update_angular_velocity()
Definition: Node.hpp:454
void load(Archive &, const unsigned int)
Definition: Node.hpp:504
void update_from_dem()
Definition: Node.hpp:426
Geom::Quaternion _quat_vel
Definition: Node.hpp:214
const
Definition: Sensor.hpp:225
Definition: Common.hpp:198
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t t(t+t)") define_sfop3(16