36class EXPCL_PANDA_PGRAPH PlaneNode :
public PandaNode {
38 explicit PlaneNode(
const std::string &name,
const LPlane &plane = LPlane());
41 PlaneNode(
const PlaneNode ©);
43 virtual void output(std::ostream &out)
const;
46 virtual void xform(
const LMatrix4 &mat);
52 INLINE
void set_plane(
const LPlane &plane);
63 CE_collision = 0x0002,
77 virtual void compute_internal_bounds(CPT(
BoundingVolume) &internal_bounds,
78 int &internal_vertices,
80 Thread *current_thread)
const;
91 class EXPCL_PANDA_PGRAPH CData :
public CycleData {
94 INLINE CData(
const CData ©);
99 return PlaneNode::get_class_type();
103 PT(
Geom) _front_viz, _back_viz;
104 PN_stdfloat _viz_scale;
107 PipelineCycler<CData> _cycler;
108 typedef CycleDataLockedReader<CData> CDLockedReader;
109 typedef CycleDataReader<CData> CDReader;
110 typedef CycleDataWriter<CData> CDWriter;
111 typedef CycleDataStageReader<CData> CDStageReader;
112 typedef CycleDataStageWriter<CData> CDStageWriter;
119 static TypedWritable *make_from_bam(
const FactoryParams ¶ms);
120 void fillin(DatagramIterator &scan, BamReader *manager);
123 static TypeHandle get_class_type() {
126 static void init_type() {
127 PandaNode::init_type();
129 PandaNode::get_class_type());
131 virtual TypeHandle get_type()
const {
132 return get_class_type();
134 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
137 static TypeHandle _type_handle;
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
This is an abstract class for any volume in any sense which can be said to define the locality of ref...
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
A single page of data maintained by a PipelineCycler.
A class to retrieve the individual data elements previously stored in a Datagram.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
A container for geometry primitives.
virtual bool cull_callback(CullTraverser *trav, CullTraverserData &data)
This function will be called during the cull traversal to perform any additional operations that shou...
virtual bool is_renderable() const
Returns true if there is some value to visiting this particular node during the cull traversal for an...
static void register_with_read_factory()
Tells the BamReader how to create objects of type PandaNode.
virtual void xform(const LMatrix4 &mat)
Transforms the contents of this PandaNode by the indicated matrix, if it means anything to do so.
virtual PandaNode * make_copy() const
Returns a newly-allocated PandaNode that is a shallow copy of this one.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
get_priority
Returns the priority associated with this clip plane.
get_clip_effect
Returns the clip_effect bits for this clip plane.
set_priority
Changes the relative importance of this PlaneNode (when it is used as a clip plane) relative to the o...
static UpdateSeq get_sort_seq()
Returns a global sequence number that is incremented any time any PlaneNode in the world changes sort...
set_viz_scale
Specifies the size of the visual representation of the plane that is drawn if the PlaneNode is shown.
get_viz_scale
Returns the size of the visual representation of the plane that is drawn if the PlaneNode is shown.
get_plane
Returns the plane represented by the PlaneNode.
set_clip_effect
Specifies the sort of things this plane will actually clip (when it is used as a clip plane).
set_plane
Sets the particular plane represented by the PlaneNode.
A thread; that is, a lightweight process.
TypeHandle is the identifier used to differentiate C++ class types.
This is a sequence number that increments monotonically.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.