14#ifndef XFILEDATANODEREFERENCE_H
15#define XFILEDATANODEREFERENCE_H
29class XFileDataNodeReference :
public XFileDataNode {
39 virtual void write_text(std::ostream &out,
int indent_level)
const;
42 virtual int get_num_elements()
const;
43 virtual XFileDataObject *get_element(
int n);
44 virtual XFileDataObject *get_element(
const std::string &name);
53 static void init_type() {
54 XFileDataNode::init_type();
56 XFileDataNode::get_class_type());
59 return get_class_type();
61 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
TypeHandle is the identifier used to differentiate C++ class types.
virtual void write_text(std::ostream &out, int indent_level) const
Writes a suitable representation of this node to an .x file in text mode.
XFileDataNodeTemplate * get_object() const
Returns the actual data object being referenced.
virtual bool is_complex_object() const
Returns true if this kind of data object is a complex object that can hold nested data elements,...
virtual bool is_reference() const
Returns true if this node represents an indirect reference to an object defined previously in the fil...
This is a node which contains all of the data elements defined by a template.
A template definition in the X file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.