39#ifndef EASY3D_RENDERER_FRAME_H
40#define EASY3D_RENDERER_FRAME_H
42#include <easy3d/core/types.h>
43#include <easy3d/core/signal.h>
44#include <easy3d/renderer/constraint.h>
284 float threshold = 0.0f);
402 const Frame *referenceFrame_;
An interface class for Frame constraints.
Definition: constraint.h:140
The Frame class represents a coordinate system, defined by a position and an orientation.
Definition: frame.h:152
void translate(vec3 &t)
Definition: frame.cpp:281
void projectOnLine(const vec3 &origin, const vec3 &direction)
Definition: frame.cpp:830
mat4 worldMatrix() const
Definition: frame.cpp:201
Frame worldInverse() const
Definition: frame.h:388
void rotate(quat &q)
Definition: frame.cpp:305
quat orientation() const
Definition: frame.cpp:419
vec3 inverseCoordinatesOf(const vec3 &src) const
Definition: frame.cpp:583
void setPositionWithConstraint(vec3 &position)
Definition: frame.cpp:492
void setTranslation(const vec3 &translation)
Definition: frame.h:195
vec3 localInverseCoordinatesOf(const vec3 &src) const
Definition: frame.cpp:607
const Frame * referenceFrame() const
Definition: frame.h:262
void setTranslationAndRotation(const vec3 &translation, const quat &rotation)
Definition: frame.cpp:387
void setOrientationWithConstraint(quat &orientation)
Definition: frame.cpp:502
void setPositionAndOrientationWithConstraint(vec3 &position, quat &orientation)
Definition: frame.cpp:511
void setFromMatrix(const mat4 &m)
Definition: frame.cpp:241
Frame inverse() const
Definition: frame.cpp:167
vec3 coordinatesOfFrom(const vec3 &src, const Frame *const from) const
Definition: frame.cpp:615
Constraint * constraint() const
Definition: frame.h:353
vec3 localCoordinatesOf(const vec3 &src) const
Definition: frame.cpp:598
void alignWithFrame(const Frame *const frame, bool move=false, float threshold=0.0f)
Definition: frame.cpp:757
vec3 coordinatesOfIn(const vec3 &src, const Frame *const in) const
Definition: frame.cpp:628
void setRotationWithConstraint(quat &rotation)
Definition: frame.cpp:451
void setRotation(const quat &rotation)
Definition: frame.h:212
bool settingAsReferenceFrameWillCreateALoop(const Frame *const frame)
Definition: frame.cpp:550
void setPositionAndOrientation(const vec3 &position, const quat &orientation)
Definition: frame.cpp:369
void setTranslationWithConstraint(vec3 &translation)
Definition: frame.cpp:437
vec3 coordinatesOf(const vec3 &src) const
Definition: frame.cpp:571
Frame()
Definition: frame.cpp:51
vec3 localInverseTransformOf(const vec3 &src) const
Definition: frame.cpp:693
vec3 position() const
Definition: frame.cpp:410
void setReferenceFrame(const Frame *const refFrame)
Definition: frame.cpp:537
vec3 translation() const
Definition: frame.h:230
vec3 transformOf(const vec3 &src) const
Definition: frame.cpp:656
void setOrientation(const quat &orientation)
Definition: frame.cpp:400
void setTranslationAndRotationWithConstraint(vec3 &translation, quat &rotation)
Definition: frame.cpp:466
mat4 matrix() const
Definition: frame.cpp:141
vec3 inverseTransformOf(const vec3 &src) const
Definition: frame.cpp:668
vec3 transformOfFrom(const vec3 &src, const Frame *const from) const
Definition: frame.cpp:701
void setPosition(const vec3 &position)
Definition: frame.cpp:357
void setConstraint(Constraint *const constraint)
Definition: frame.h:359
Frame & operator=(const Frame &frame)
Definition: frame.cpp:68
void rotateAroundPoint(quat &rotation, const vec3 &point)
Definition: frame.cpp:325
quat rotation() const
Definition: frame.h:239
vec3 transformOfIn(const vec3 &src, const Frame *const in) const
Definition: frame.cpp:714
vec3 localTransformOf(const vec3 &src) const
Definition: frame.cpp:684
A light-weight implementation of the simple signal-slot mechanism.
Definition: signal.h:56
void send(Args... p)
Calls all connected functions.
Definition: signal.h:160
Definition: collider.cpp:182