コード例 #1
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
inline bool Transformation::setCoeffs(
    const Eigen::MatrixBase<Derived_coeffs> & coeffs) {
  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived_coeffs, 7);
  parameters_ = coeffs;
  updateC();
  return true;
}
コード例 #2
0
	void JobShopData::calculateSAndCValuesForOperation(unsigned int operation)
    {
        unsigned int technologicalAntecessor = findTechgnologicalAntecessor(operation);
        unsigned int machineAntecessor = findMachineAntecessor(operation);
        updateS(operation, technologicalAntecessor, machineAntecessor);
        updateC(operation);
    }
コード例 #3
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
inline Transformation::Transformation(const Eigen::Vector3d & r_AB,
                                      const Eigen::Quaterniond& q_AB)
    : r_(&parameters_[0]),
      q_(&parameters_[3]) {
  r_ = r_AB;
  q_ = q_AB.normalized();
  updateC();
}
コード例 #4
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
// Set this to a random transformation with bounded rotation and translation.
inline void Transformation::setRandom(double translationMaxMeters,
                                      double rotationMaxRadians) {
  // Create a random unit-length axis.
  Eigen::Vector3d axis = rotationMaxRadians * Eigen::Vector3d::Random();
  // Create a random rotation angle in radians.
  Eigen::Vector3d r = translationMaxMeters * Eigen::Vector3d::Random();
  r_ = r;
  q_ = Eigen::AngleAxisd(axis.norm(), axis.normalized());
  updateC();
}
コード例 #5
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
inline bool Transformation::oplus(
    const Eigen::MatrixBase<Derived_delta> & delta) {
  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived_delta, 6);
  r_ += delta.template head<3>();
  Eigen::Vector4d dq;
  double halfnorm = 0.5 * delta.template tail<3>().norm();
  dq.template head<3>() = sinc(halfnorm) * 0.5 * delta.template tail<3>();
  dq[3] = cos(halfnorm);
  q_ = (Eigen::Quaterniond(dq) * q_);
  q_.normalize();
  updateC();
  return true;
}
コード例 #6
0
ファイル: UnitHandler.cpp プロジェクト: dafer45/TBTK
void UnitHandler::setLengthUnit(LengthUnit unit){
	double oldConversionFactor = getLengthConversionFactor();
	lengthUnit = unit;
	double newConversionFactor = getLengthConversionFactor();
	lengthScale *= newConversionFactor/oldConversionFactor;

	updateC();
	updateM_e();
	updateM_p();
	updateMu_b();
	updateMu_n();
	updateMu_0();
	updateEpsilon_0();
}
コード例 #7
0
ファイル: UnitHandler.cpp プロジェクト: dafer45/TBTK
void UnitHandler::setTimeUnit(TimeUnit unit){
	double oldConversionFactor = getTimeConversionFactor();	
	timeUnit = unit;
	double newConversionFactor = getTimeConversionFactor();
	timeScale *= newConversionFactor/oldConversionFactor;

	updateHbar();
	updateC();
	updateM_e();
	updateM_p();
	updateMu_b();
	updateMu_n();
	updateMu_0();
}
コード例 #8
0
ファイル: Bot.cpp プロジェクト: FallenWings/CounterColorists
void Bot::update(Game *game){
	if(animatedSprite->isEnabled){
		switch(type){
			case typeA:
				updateA();
				break;
			case typeB:
				updateB();
				break;
			case typeC:
				updateC();
				break;
			case typeD:
				updateD(game);
				break;
			case typeE:
				updateE(game);
				break;
			}
	}	

}
コード例 #9
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
inline void Transformation::set(const Eigen::Vector3d & r_AB,
                                const Eigen::Quaternion<double> & q_AB) {
  r_ = r_AB;
  q_ = q_AB.normalized();
  updateC();
}
コード例 #10
0
ファイル: Transformation.hpp プロジェクト: AhmadZakaria/okvis
// Setters
inline void Transformation::set(const Eigen::Matrix4d & T_AB) {
  r_ = (T_AB.topRightCorner<3, 1>());
  q_ = (T_AB.topLeftCorner<3, 3>());
  updateC();
}