コード例 #1
0
/**
 * \brief Constructor to build Part from PartInfo
 */
PartInfo::PartInfo(const Part& part) {
	partno = part.partno();
	instrument = part.instrument();
	width = part.exposure().width();
	height = part.exposure().height();
	xoffset = part.exposure().x();
	yoffset = part.exposure().y();
	exposuretime = part.exposure().exposuretime();
	gain	 = part.exposure().gain();
	limit = part.exposure().limit();
	binx = part.exposure().mode().x();
	biny = part.exposure().mode().y();
	switch (part.exposure().shutter()) {
	case astro::camera::Shutter::OPEN:
		shutter = 1;
		break;
	case astro::camera::Shutter::CLOSED:
		shutter = 0;
		break;
	}
	purpose = part.exposure().purpose();
	filtername = part.filtername();
	temperature = part.temperature();
	taskserver = part.taskserver();
	taskid = part.taskid();
	repoid = part.repoid();
}
コード例 #2
0
/**
 * \brief Cast operator to convert a PartInfo object to a part
 */
PartInfo::operator	Part() const {
	Part	part;
	part.partno(partno);
	part.instrument(instrument);
	astro::image::ImageSize	size(width, height);
	astro::image::ImagePoint	origin(xoffset, yoffset);
	astro::image::ImageRectangle	frame(size, origin);
	astro::camera::Exposure	exposure;
	exposure.frame(frame);
	exposure.exposuretime(exposuretime);
	exposure.gain(gain);
	exposure.limit(limit);
	exposure.mode(astro::image::Binning(binx, biny));
	exposure.shutter((shutter)	? astro::camera::Shutter::OPEN
					: astro::camera::Shutter::CLOSED);
	exposure.purpose((astro::camera::Exposure::purpose_t)purpose);
	part.exposure(exposure);
	part.filtername(filtername);
	part.temperature(temperature);
	part.taskserver(taskserver);
	part.taskid(taskid);
	part.repoid(repoid);
	return part;
}