00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "cLwoLayer.h"
00016 #include "lwoToEggConverter.h"
00017
00018 #include "eggData.h"
00019
00020
00021
00022
00023
00024
00025
00026
00027 void CLwoLayer::
00028 make_egg() {
00029 _egg_group = new EggGroup(_layer->_name);
00030
00031 if (_layer->_pivot != LPoint3::zero()) {
00032
00033
00034 LPoint3d translate = LCAST(double, _layer->_pivot);
00035 _egg_group->set_transform3d(LMatrix4d::translate_mat(translate));
00036 _egg_group->set_group_type(EggGroup::GT_instance);
00037 }
00038 }
00039
00040
00041
00042
00043
00044
00045 void CLwoLayer::
00046 connect_egg() {
00047 if (_layer->_parent != -1) {
00048 const CLwoLayer *parent = _converter->get_layer(_layer->_parent);
00049 if (parent != (CLwoLayer *)NULL) {
00050 parent->_egg_group->add_child(_egg_group.p());
00051 return;
00052 }
00053
00054 nout << "No layer found with number " << _layer->_parent
00055 << "; cannot parent layer " << _layer->_number << " properly.\n";
00056 }
00057
00058 _converter->get_egg_data()->add_child(_egg_group.p());
00059 }
00060