46 _normal = copy._normal;
48 _dnormals = copy._dnormals;
49 _drgbas = copy._drgbas;
65 write(std::ostream &out,
int indent_level)
const {
67 if (_dnormals.empty()) {
69 <<
"<Normal> { " << get_normal() <<
" }\n";
71 indent(out, indent_level) <<
"<Normal> {\n";
72 indent(out, indent_level + 2) << get_normal() <<
"\n";
73 _dnormals.write(out, indent_level + 2,
"<DNormal>", 3);
74 indent(out, indent_level) <<
"}\n";
78 if (_drgbas.empty()) {
82 indent(out, indent_level) <<
"<RGBA> {\n";
84 _drgbas.write(out, indent_level + 2,
"<DRBGA>", 4);
85 indent(out, indent_level) <<
"}\n";
97 if (_flags != other._flags) {
98 return (
int)_flags - (int)other._flags;
103 _normal.compare_to(other._normal, egg_parameters->_normal_threshold);
107 compare = _dnormals.
compare_to(other._dnormals, egg_parameters->_normal_threshold);
115 _color.compare_to(other._color, egg_parameters->_color_threshold);
119 compare = _drgbas.
compare_to(other._drgbas, egg_parameters->_color_threshold);
134 _normal = _normal * mat;
135 LVector3d old_normal = _normal;
138 EggMorphNormalList::iterator mi;
139 for (mi = _dnormals.begin(); mi != _dnormals.end(); ++mi) {
148 LVector3d offset = (*mi).get_offset() * mat;
149 LVector3d n = old_normal + offset;
151 morph.set_offset(n - _normal);