#include <Placement.h>
Public Member Functions | |
void | fromMatrix (const Matrix4D &m) |
const Vector3d & | getPosition () const |
const Rotation & | getRotation () const |
Placement | inverse () const |
void | invert () |
bool | isIdentity () const |
void | move (const Vector3d &MovVec) |
void | multVec (const Vector3d &src, Vector3d &dst) const |
bool | operator!= (const Placement &) const |
Placement | operator* (const Placement &p) const |
Placement & | operator*= (const Placement &p) |
Operators. More... | |
Placement & | operator= (const Placement &) |
bool | operator== (const Placement &) const |
Placement () | |
default constructor More... | |
Placement (const Base::Matrix4D &matrix) | |
Placement (const Placement &) | |
Placement (const Vector3d &Pos, const Rotation &Rot) | |
Placement (const Vector3d &Pos, const Rotation &Rot, const Vector3d &Cnt) | |
Placement | pow (double t, bool shorten=true) const |
void | setPosition (const Vector3d &Pos) |
void | setRotation (const Rotation &Rot) |
DualQuat | toDualQuaternion () const |
Matrix4D | toMatrix () const |
~Placement () | |
Destruction. More... | |
Static Public Member Functions | |
static Placement | fromDualQuaternion (DualQuat qq) |
specialty constructors More... | |
static Placement | sclerp (const Placement &p0, const Placement &p1, double t, bool shorten=true) |
static Placement | slerp (const Placement &p0, const Placement &p1, double t) |
The Placement class.
Placement::Placement | ( | void | ) |
default constructor
Referenced by Attacher::AttachEngine3D::calculateAttachedPlacement(), Attacher::AttachEngineLine::calculateAttachedPlacement(), fromDualQuaternion(), PartDesign::ProfileBased::getProfileNormal(), PartDesign::ProfileBased::getReversedAngle(), slerp(), and PartDesign::ShapeBinder::updatedShape().
Placement::Placement | ( | const Placement & | that | ) |
Placement::Placement | ( | const Base::Matrix4D & | matrix | ) |
References fromMatrix().
Base::Placement::~Placement | ( | ) |
Destruction.
specialty constructors
References Base::DualQuat::conj(), Base::DualQuat::dual(), Placement(), Base::DualNumber::re, Base::DualQuat::real(), Base::DualQuat::w, Base::DualQuat::x, Base::DualQuat::y, and Base::DualQuat::z.
Referenced by pow().
void Placement::fromMatrix | ( | const Matrix4D & | m | ) |
const Vector3d & Base::Placement::getPosition | ( | ) | const |
Referenced by PartGui::TaskDlgAttacher::accept(), Attacher::AttachEngine3D::calculateAttachedPlacement(), Attacher::AttachEngineLine::calculateAttachedPlacement(), Import::ExportOCAF::createNode(), Robot::TrajectoryDressUpObject::execute(), PartDesignGui::fixSketchSupport(), Part::Tools::fromPlacement(), PartDesign::ProfileBased::getAxis(), Part::Datum::getBasePoint(), Part::Feature::getLocation(), Part::FeatureReference::getLocation(), PartDesign::Point::getPoint(), Sketcher::SketchObject::isCarbonCopyAllowed(), PartGui::Location::Location(), PartGui::SectionCut::onCutXvalueChanged(), PartGui::SectionCut::onCutYvalueChanged(), PartGui::SectionCut::onCutZvalueChanged(), Sketcher::SketchObject::rebuildExternalGeometry(), Path::Toolpath::recalculate(), Part::Geometry::rotate(), Robot::Robot6Axis::Save(), Robot::Waypoint::Save(), Import::ExportOCAF::saveShape(), PartGui::SectionCut::SectionCut(), RobotGui::ViewProviderRobotObject::setDragger(), SketcherGui::ViewProviderSketch::setEditViewer(), Path::Command::setFromPlacement(), Part::TopoShape::setShapePlacement(), Robot::Robot6Axis::setTo(), slerp(), Robot::toFrame(), Gui::View3DInventorViewer::toggleClippingPlane(), Path::Command::transform(), Point3D::UpdateCmd(), RobotGui::ViewProviderRobotObject::updateData(), RobotGui::ViewProviderTrajectory::updateData(), Gui::ViewProviderLink::updateDraggingPlacement(), Gui::ViewProviderDragger::updateTransform(), RobotGui::TaskTrajectoryDressUpParameter::viewPlacement(), Gui::View3DInventorPy::viewPosition(), Path::PathSegmentWalker::walk(), and Points::PcdWriter::write().
const Rotation & Base::Placement::getRotation | ( | ) | const |
Referenced by PartGui::TaskDlgAttacher::accept(), Attacher::AttachEngine3D::calculateAttachedPlacement(), Import::ExportOCAF::createNode(), Robot::TrajectoryDressUpObject::execute(), PartDesignGui::fixSketchSupport(), Part::Tools::fromPlacement(), PartDesign::ProfileBased::getAxis(), PartDesign::Line::getDirection(), Part::Feature::getLocation(), Part::FeatureReference::getLocation(), PartDesign::Plane::getNormal(), PartDesign::ProfileBased::getProfileNormal(), PartDesign::ProfileBased::getReversedAngle(), PartDesign::LinearPattern::getTransformations(), PartDesign::PolarPattern::getTransformations(), PartDesign::CoordinateSystem::getXAxis(), PartDesign::CoordinateSystem::getYAxis(), PartDesign::CoordinateSystem::getZAxis(), Sketcher::SketchObject::isCarbonCopyAllowed(), Attacher::AttachEngine::placementFactory(), Attacher::AttachEngine::readLinks(), Sketcher::SketchObject::rebuildExternalGeometry(), Part::Geometry::rotate(), Robot::Robot6Axis::Save(), Robot::Waypoint::Save(), Import::ExportOCAF::saveShape(), RobotGui::ViewProviderRobotObject::setDragger(), SketcherGui::ViewProviderSketch::setEditViewer(), Path::Command::setFromPlacement(), Part::TopoShape::setShapePlacement(), Robot::Robot6Axis::setTo(), slerp(), Robot::toFrame(), Gui::View3DInventorViewer::toggleClippingPlane(), Path::Command::transform(), Gui::ViewProviderInventorObject::updateData(), Gui::ViewProviderVRMLObject::updateData(), RobotGui::ViewProviderRobotObject::updateData(), Gui::ViewProviderLink::updateDraggingPlacement(), Gui::ViewProviderDragger::updateTransform(), RobotGui::TaskTrajectoryDressUpParameter::viewPlacement(), Gui::View3DInventorPy::viewPosition(), Points::PlyWriter::write(), and Points::PcdWriter::write().
Placement Placement::inverse | ( | ) | const |
Referenced by Gui::TreeWidget::dropEvent(), Sketcher::SketchAnalysis::getOpenVertices(), Gui::ViewProviderLink::initDraggingPlacement(), Sketcher::SketchObject::rebuildExternalGeometry(), Robot::Simulation::reset(), sclerp(), RobotGui::ViewProviderRobotObject::setAxisTo(), PartDesignGui::ViewProviderDatumLine::setExtents(), PartDesignGui::ViewProviderDatumPlane::setExtents(), Robot::Simulation::setToTime(), PartDesign::SubShapeBinder::update(), RobotGui::ViewProviderRobotObject::updateData(), and PartDesign::ShapeBinder::updatedShape().
void Placement::invert | ( | ) |
bool Placement::isIdentity | ( | ) | const |
void Placement::move | ( | const Vector3d & | MovVec | ) |
References fromDualQuaternion(), pow(), and toDualQuaternion().
void Base::Placement::setPosition | ( | const Vector3d & | Pos | ) |
Referenced by PathSimulator::PathSim::ApplyCommand(), Attacher::AttachEngine3D::calculateAttachedPlacement(), Gui::ManualAlignment::computeAlignment(), Robot::TrajectoryDressUpObject::execute(), PartGui::SectionCut::onCutXvalueChanged(), PartGui::SectionCut::onCutYvalueChanged(), PartGui::SectionCut::onCutZvalueChanged(), and Part::Box::Restore().
void Base::Placement::setRotation | ( | const Rotation & | Rot | ) |
References getPosition(), getRotation(), Placement(), and Base::Rotation::slerp().
DualQuat Placement::toDualQuaternion | ( | ) | const |
References Base::DualNumber::re, Base::DualQuat::w, Base::DualQuat::x, Base::DualQuat::y, and Base::DualQuat::z.
Referenced by pow().
Base::Matrix4D Placement::toMatrix | ( | ) | const |
Referenced by Gui::Dialog::TransformStrategy::acceptDataTransform(), Gui::Dialog::TransformStrategy::applyViewTransform(), Gui::TreeWidget::dropEvent(), App::GeoFeatureGroupExtension::extensionGetSubObject(), App::OriginGroupExtension::extensionGetSubObject(), Part::Datum::getSubObject(), Part::Feature::getSubObject(), PartDesign::Body::getSubObject(), PartDesign::CoordinateSystem::getSubObject(), PartDesign::SubShapeBinder::getSubObject(), TechDraw::ShapeExtractor::getXShapes(), Gui::ViewProviderLink::initDraggingPlacement(), Gui::Dialog::Transform::on_applyButton_clicked(), Mesh::Feature::onChanged(), Points::Feature::onChanged(), Part::Feature::onChanged(), MeshGui::ViewProviderMesh::partMeshCallback(), Sketcher::SketchObject::rebuildExternalGeometry(), Gui::Dialog::TransformStrategy::resetViewTransform(), MeshGui::ViewProviderMesh::segmMeshCallback(), Gui::ViewProviderDragger::setEditViewer(), PartDesignGui::ViewProviderDatumLine::setExtents(), PartDesignGui::ViewProviderDatumPlane::setExtents(), Data::ComplexGeoData::setPlacement(), PartDesign::SubShapeBinder::update(), PartGui::ViewProvider2DObjectGrid::updateData(), Gui::ViewProviderLink::updateDraggingPlacement(), and Points::AscWriter::write().