53 m_bodyCode =
new SpiceInt;
62 *m_name = inst[
"TargetName"][0];
63 QString trykey =
"NaifIkCode";
64 if (kernels.
hasKeyword(
"NaifFrameCode")) trykey =
"NaifFrameCode";
66 if (name().toUpper() ==
"SKY") {
67 m_radii[0] = m_radii[1] = m_radii[2] =
Distance(1000.0, Distance::Meters);
69 int ikCode =
toInt(kernels[trykey][0]);
70 *m_bodyCode = ikCode / 1000;
73 *m_bodyCode = (
int) kernels[
"NaifSpkCode"];
76 *m_bodyCode = lookupNaifBodyCode();
85 *m_bodyCode = (
int) kernels[
"NaifBodyCode"];
86 m_shape = ShapeModelFactory::create(
this, lab);
115 void Target::init() {
117 m_originalShape = NULL;
127 NaifStatus::CheckErrors();
135 if (m_radii.size() != 0) {
139 delete m_originalShape;
140 m_originalShape = NULL;
148 bool Target::isSky()
const {
159 SpiceInt Target::lookupNaifBodyCode()
const {
162 bodn2c_c(m_name->toAscii().data(), &code, &found);
164 IString msg =
"Could not convert Target [" + *m_name +
179 SpiceInt Target::naifBodyCode()
const {
185 QString Target::name()
const {
195 std::vector<Distance> Target::radii()
const {
203 void Target::restoreShape() {
204 if (m_shape->name() !=
"Ellipsoid") {
209 else if (m_originalShape == NULL) {
213 m_shape = m_originalShape;
214 m_originalShape = NULL;
221 void Target::setShapeEllipsoid() {
223 m_originalShape = m_shape;
233 void Target::setRadii(std::vector<Distance> radii) {
234 m_radii[0] = radii[0];
235 m_radii[1] = radii[1];
236 m_radii[2] = radii[2];