IMP logo
IMP Reference Guide  develop.7400db2aee,2024/11/23
The Integrative Modeling Platform
TransformationJoint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/kinematics/TransformationJoint.h
3  * \brief a kinematic joints between rigid bodies that allows any
4  * transformation
5  * \authors Dina Schneidman, Barak Raveh
6  *
7 
8  * Copyright 2007-2022 IMP Inventors. All rights reserved.
9  */
10 
11 #ifndef IMPKINEMATICS_TRANSFORMATION_JOINT_H
12 #define IMPKINEMATICS_TRANSFORMATION_JOINT_H
13 
14 #include <IMP/kinematics/kinematics_config.h>
16 #include <IMP/kinematics/Joint.h>
17 #include <IMP/Object.h>
18 #include <IMP/exception.h>
19 #include <IMP/core/internal/dihedral_helpers.h>
20 #include <IMP/algebra/Vector3D.h>
21 #include <IMP/check_macros.h>
22 
23 IMPKINEMATICS_BEGIN_NAMESPACE
24 
25 /********************** TransformationJoint ***************/
26 
27 /** A joint with a completely non-constrained transformation
28  between parent and child nodes reference frames
29 */
30 class IMPKINEMATICSEXPORT TransformationJoint : public Joint {
31  public:
33 
34  /**
35  Sets the transformation from parent to child reference frame,
36  in a safe way - that is, after updating all internal coordinates
37  from external if needed, and marking the owner internal coordinates
38  as changed.
39  */
40  void set_transformation_child_to_parent(
41  IMP::algebra::Transformation3D transformation);
42 };
43 
45 
46 IMPKINEMATICS_END_NAMESPACE
47 
48 #endif /* IMPKINEMATICS_TRANSFORMATION_JOINT_H */
Simple 3D transformation class.
Exception definitions and assertions.
functionality for defining a kinematic joint between rigid bodies as part of a kinematic tree ...
functionality for defining nodes on a kinematic chain
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
Helper macros for throwing and handling exceptions.
Base class for joints between rigid bodies in a kinematic tree.
Definition: Joint.h:29
A shared base class to help in debugging and things.
Simple 3D vector class.
A decorator for a rigid body.
Definition: rigid_bodies.h:82