Exemple #1
0
/**
merging a universal (oii) and spherical (iii) constraint may result in:
<ul>
<li> fixed : all other cases
</ul>
*/
Joint meld_oii_iii(const Joint& universal, const Joint& ball, const bool flip = false) {
	//log4cpp::CategoryStream& log = universal.log_cf.infoStream();
	//log << (flip ? "meld_iii_oii" : "meld_oii_iii");

	// 
	isis_LOG(lg, isis_FILE, isis_INFO) << (flip ? "meld_iii_oii" : "meld_oii_iii");
	return universal.make_composite(ball);
}
Exemple #2
0
/**
merging a spherical (iii) and cylindrical (oof) constraint may result in:
<ul>
<li> fixed : all other cases
</ul>
*/
Joint meld_iii_oof(const Joint& ball, const Joint& axis, const bool flip = false) {
	//log4cpp::CategoryStream& log = ball.log_cf.infoStream();
	//log << (flip ? "meld_oof_iii" : "meld_iii_oof");

	// 
	isis_LOG(lg, isis_FILE, isis_INFO) << (flip ? "meld_oof_iii" : "meld_iii_oof");

	return ball.make_composite(axis);
}
Exemple #3
0
/**
merging a revolute (ooi) and a universal (oii) constraint results in:
<ul>
<li> fixed : all other cases
</ul>
*/
Joint meld_oof_oii(const Joint& axis, const Joint& universal, const bool flip = false) {
	//log4cpp::CategoryStream& log = axis.log_cf.infoStream();
	//log << (flip ? "meld_oii_oof" : "meld_oof_oii");

	// 
	isis_LOG(lg, isis_FILE, isis_INFO) <<  (flip ? "meld_oii_oof" : "meld_oof_oii");

	return axis.make_composite(universal);
}
Exemple #4
0
/**
merging a pair of universal (oii) joints:
<ul>
<li> fixed : all other cases
</ul>
*/
Joint meld_oii_oii(const Joint& major, const Joint& minor) {
	//log4cpp::CategoryStream& log = major.log_cf.infoStream();
	//log << "meld_oii_oii";

	// 
	isis_LOG(lg, isis_FILE, isis_INFO) << "meld_oii_oii";

	return major.make_composite(minor);
}
Exemple #5
0
/**
merging a revolute (ooi) and a spherical (iii) constraint results in:
<ul>
<li> revolute : origins are coincident
<li> fixed : all other cases
</ul>
*/
Joint meld_ooi_iii(const Joint& pin, const Joint& ball, const bool flip = false) {
	//log4cpp::CategoryStream& log = pin.log_cf.infoStream();
	//log << (flip ? "meld_iii_ooi" : "meld_ooi_iii");

	// 
	isis_LOG(lg, isis_FILE, isis_INFO) << (flip ? "meld_iii_ooi" : "meld_ooi_iii");

	e3ga::vector x1 = pin.location;
	e3ga::vector x2 = ball.location;

	e3ga::vector x1x2 = x2 - x1;
	if ( e3ga::zero(x1x2, DEFAULT_TOLERANCE) ) {
		return pin;
	}
	return pin.make_composite(ball);
}