Go to the documentation of this file.
14 #ifndef PORTALCLIPPER_H
15 #define PORTALCLIPPER_H
54 INLINE
bool is_partial_portal_in_view();
55 INLINE
bool is_facing_view(
const LPlane &portal_plane);
56 INLINE
bool is_whole_portal_in_view(
const LMatrix4 &cmat);
58 bool prepare_portal(
const NodePath &node_path);
61 INLINE
void draw_camera_frustum();
64 INLINE
void move_to(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
65 void move_to(
const LVecBase3 &v);
67 INLINE
void draw_to(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
68 void draw_to(
const LVecBase3 &v);
70 void draw_current_portal();
74 INLINE
void get_reduced_viewport(LPoint2& min, LPoint2& max)
const;
75 INLINE
void set_reduced_viewport(
const LPoint2& min,
const LPoint2& max);
77 INLINE
void set_clip_state(
const RenderState* clip_state);
86 TypedObject::get_class_type());
89 return get_class_type();
100 INLINE Point(
const LVecBase3 &point,
const LColor &color);
101 INLINE Point(
const Point ©);
102 INLINE
void operator = (
const Point ©);
105 UnalignedLVecBase4 _color;
118 LPoint2 _reduced_viewport_min;
119 LPoint2 _reduced_viewport_max;
static void init_type()
This function is declared non-inline to work around a compiler bug in g++ 2.96.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A node in the scene graph that can hold a Portal Polygon, which is a rectangle.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
This is our own Panda specialization on the default STL vector.
The smallest atom of cull.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
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.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This object holds the camera position, etc., and other general setup information for rendering a part...
TypeHandle is the identifier used to differentiate C++ class types.
A node that holds Geom objects, renderable pieces of geometry.
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 is another abstract class, for a general class of bounding volumes that actually enclose points ...
This collects together the pieces of data that are accumulated for each node while walking the scene ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This defines a bounding convex hexahedron.
A basic node of the scene graph or data graph.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
This defines the abstract interface for an object that receives Geoms identified by the CullTraverser...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.