14 #ifndef CLIPPINGPLANEATTRIB_H 15 #define CLIPPINGPLANEATTRIB_H 58 Operation get_operation()
const;
60 int get_num_planes()
const;
72 INLINE
int get_num_on_planes()
const;
73 INLINE
NodePath get_on_plane(
int n)
const;
74 MAKE_SEQ(get_on_planes, get_num_on_planes, get_on_plane);
75 INLINE
bool has_on_plane(
const NodePath &plane)
const;
77 INLINE
int get_num_off_planes()
const;
78 INLINE
NodePath get_off_plane(
int n)
const;
79 MAKE_SEQ(get_off_planes, get_num_off_planes, get_off_plane);
80 INLINE
bool has_off_plane(
const NodePath &plane)
const;
81 INLINE
bool has_all_off()
const;
83 INLINE
bool is_identity()
const;
94 virtual void output(std::ostream &out)
const;
97 virtual int compare_to_impl(
const RenderAttrib *other)
const;
98 virtual size_t get_hash_impl()
const;
103 INLINE
void check_filtered()
const;
104 void sort_on_planes();
108 Planes _on_planes, _off_planes;
109 bool _off_all_planes;
120 static int get_class_slot() {
123 virtual int get_slot()
const {
124 return get_class_slot();
126 MAKE_PROPERTY(class_slot, get_class_slot);
143 static void register_with_read_factory();
157 static void init_type() {
158 RenderAttrib::init_type();
160 RenderAttrib::get_class_type());
164 return get_class_type();
166 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
170 static int _attrib_slot;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the base class for a number of render attributes (other than transform) that may be set on sc...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Base class for objects that can be written to and read from Bam files.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(), along with zero to four record_derivation()s.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This functions similarly to a LightAttrib.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
This is our own Panda specialization on the default STL list.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
virtual int complete_pointers(TypedWritable **p_list, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin()...
static int register_slot(TypeHandle type_handle, int sort, RenderAttrib *default_attrib)
Adds the indicated TypeHandle to the registry, if it is not there already, and returns a unique slot ...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
virtual void finalize(BamReader *manager)
Called by the BamReader to perform any final actions needed for setting up the object after all objec...
A class to retrieve the individual data elements previously stored in a Datagram. ...
TypeHandle is the identifier used to differentiate C++ class types.
This is a sequence number that increments monotonically.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A node that contains a plane.