17 #include "string_utils.h" 32 for (ci = begin(); ci != end(); ++ci) {
49 write(ostream &out,
int indent_level)
const {
50 test_under_integrity();
52 switch (get_table_type()) {
67 indent(out, indent_level) <<
"}\n";
80 if (cmp_nocase_uh(
string,
"table") == 0) {
82 }
else if (cmp_nocase_uh(
string,
"bundle") == 0) {
104 CoordinateSystem to_cs) {
133 for (ci = begin(); ci != end(); ++ci) {
136 child->r_transform(mat, inv, to_cs);
138 child->r_transform(mat1, inv1, to_cs);
145 EggGroupNode::r_transform(mat, inv, to_cs);
154 ostream &operator << (ostream &out, EggTable::TableType t) {
156 case EggTable::TT_invalid:
157 return out <<
"invalid table";
158 case EggTable::TT_table:
159 return out <<
"table";
160 case EggTable::TT_bundle:
161 return out <<
"bundle";
164 nassertr(
false, out);
165 return out <<
"(**invalid**)";
virtual void write(ostream &out, int indent_level) const
Writes the table and all of its children to the indicated output stream in Egg format.
virtual void write(ostream &out, int indent_level) const
Writes the group and all of its children to the indicated output stream in Egg format.
static TableType string_table_type(const string &string)
Returns the TableType value associated with the given string representation, or TT_invalid if the str...
This is a 4-by-4 transform matrix.
bool has_transform() const
Returns true if the table contains a transform description, false otherwise.
void set_row(int row, const LVecBase4d &v)
Replaces the indicated row of the matrix.
virtual bool is_anim_matrix() const
Returns true if this node represents a table of animation transformation data, false otherwise...
void write_header(ostream &out, int indent_level, const char *egg_keyword) const
Writes the first line of the egg object, e.g.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
A base class for things that may be directly added into the egg hierarchy.
TypeHandle is the identifier used to differentiate C++ class types.