Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PGEntry Class Reference

This is a particular kind of PGItem that handles simple one-line text entries, of the sort where the user can type any string. More...

#include <pgEntry.h>

Inheritance diagram for PGEntry:

PGItem PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject List of all members.

Public Types

enum  State { S_focus = 0, S_no_focus, S_inactive }
enum  BoundingVolumeType { BVT_static, BVT_dynamic_sphere }

Public Member Functions

 PGEntry (const string &name)
virtual ~PGEntry ()
virtual PandaNodemake_copy () const
 Returns a newly-allocated Node that is a shallow copy of this one.

virtual bool has_cull_callback () const
 Should be overridden by derived classes to return true if cull_callback() has been defined.

virtual bool cull_callback (CullTraverser *trav, CullTraverserData &data)
 If has_cull_callback() returns true, this function will be called during the cull traversal to perform any additional operations that should be performed at cull time.

virtual void press (const MouseWatcherParameter &param, bool background)
 This is a callback hook function, called whenever a mouse or keyboard entry is depressed while the mouse is within the region.

virtual void keystroke (const MouseWatcherParameter &param, bool background)
 This is a callback hook function, called whenever the user types a key.

virtual void accept (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the entry is accepted by the user pressing Enter normally.

virtual void overflow (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the entry is overflowed because the user attempts to type too many characters, exceeding either set_max_chars() or set_max_width().

virtual void type (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the user extends the text by typing.

virtual void erase (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the user erase characters in the text.

void setup (float width, int num_lines)
 Sets up the entry for normal use.

void set_text (const string &text)
 Changes the text currently displayed within the entry.

string get_text () const
 Returns the text currently displayed within the entry.

void set_cursor_position (int position)
 Sets the current position of the cursor.

int get_cursor_position () const
 Returns the current position of the cursor.

void set_max_chars (int max_chars)
 Sets the maximum number of characters that may be typed into the entry.

int get_max_chars () const
 Returns the current maximum number of characters that may be typed into the entry, or 0 if there is no limit.

void set_max_width (float max_width)
 Sets the maximum width of all characters that may be typed into the entry.

float get_max_width () const
 Returns the current maximum width of the characters that may be typed into the entry, or 0 if there is no limit.

void set_num_lines (int num_lines)
 Sets the number of lines of text the PGEntry will use.

int get_num_lines () const
 Returns the number of lines of text the PGEntry will use, if _max_width is not 0.

void set_blink_rate (float blink_rate)
 Sets the number of times per second the cursor will blink while the entry has keyboard focus.

float get_blink_rate () const
 Returns the number of times per second the cursor will blink, or 0 if the cursor is not to blink.

const NodePathget_cursor_def ()
 Returns the Node that will be rendered to represent the cursor.

void clear_cursor_def ()
 Removes all the children from the cursor_def node, in preparation for adding a new definition.

void set_cursor_keys_active (bool flag)
 Sets whether the arrow keys (and home/end) control movement of the cursor.

bool get_cursor_keys_active () const
 Returns whether the arrow keys are currently set to control movement of the cursor; see set_cursor_keys_active().

void set_obscure_mode (bool flag)
 Specifies whether obscure mode should be enabled.

bool get_obscure_mode () const
 Specifies whether obscure mode is enabled.

void set_text_def (int state, TextNode *node)
 Changes the TextNode that will be used to render the text within the entry when the entry is in the indicated state.

TextNodeget_text_def (int state) const
 Returns the TextNode that will be used to render the text within the entry when the entry is in the indicated state.

virtual void set_active (bool active)
 Toggles the active/inactive state of the entry.

virtual void set_focus (bool focus)
 Toggles the focus state of the entry.

string get_accept_event (const ButtonHandle &button) const
 Returns the event name that will be thrown when the entry is accepted normally.

string get_overflow_event () const
 Returns the event name that will be thrown when too much text is attempted to be entered into the PGEntry, exceeding either the limit set via set_max_chars() or via set_max_width().

string get_type_event () const
 Returns the event name that will be thrown whenever the user extends the text by typing.

string get_erase_event () const
 Returns the event name that will be thrown whenever the user erases characters in the text.

void set_wtext (const wstring &wtext)
 Changes the text currently displayed within the entry.

const wstringget_wtext () const
 Returns the text currently displayed within the entry.

virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()
void activate_region (const LMatrix4f &transform, int sort)
 Applies the indicated scene graph transform and order as determined by the traversal from PGTop.

PGMouseWatcherRegionget_region () const
 Returns the MouseWatcherRegion associated with this item.

virtual void enter (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse enters the region.

virtual void exit (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse exits the region.

virtual void within (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse moves within the boundaries of the region, even if it is also within the boundaries of a nested region.

virtual void without (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse moves completely outside the boundaries of the region.

virtual void focus_in ()
 This is a callback hook function, called whenever the widget gets the keyboard focus.

virtual void focus_out ()
 This is a callback hook function, called whenever the widget loses the keyboard focus.

virtual void release (const MouseWatcherParameter &param, bool background)
 This is a callback hook function, called whenever a mouse or keyboard button previously depressed with press() is released.

void set_frame (float left, float right, float bottom, float top)
 Sets the bounding rectangle of the item, in local coordinates.

void set_frame (const LVecBase4f &frame)
 Sets the bounding rectangle of the item, in local coordinates.

const LVecBase4f & get_frame () const
 Returns the bounding rectangle of the item.

bool has_frame () const
 Returns true if the item has a bounding rectangle; see set_frame().

void clear_frame ()
 Removes the bounding rectangle from the item.

void set_state (int state)
 Sets the "state" of this particular PGItem.

void set_state (const RenderState *state)
 Sets the complete RenderState that will be applied to all nodes at this level and below.

int get_state () const
 Returns the "state" of this particular PGItem.

bool get_active () const
 Returns whether the PGItem is currently active for mouse events.

bool get_focus () const
 Returns whether the PGItem currently has focus for keyboard events.

void set_background_focus (bool focus)
 Sets the background_focus flag for this item.

bool get_background_focus () const
 Returns whether background_focus is currently enabled.

void set_suppress_flags (int suppress_flags)
 This is just an interface to set the suppress flags on the underlying MouseWatcherRegion.

int get_suppress_flags () const
 This is just an interface to get the suppress flags on the underlying MouseWatcherRegion.

int get_num_state_defs () const
 Returns one more than the highest-numbered state def that was ever assigned to the PGItem.

void clear_state_def (int state)
 Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

bool has_state_def (int state) const
 Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

NodePathget_state_def (int state)
 Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state.

NodePath instance_to_state_def (int state, const NodePath &path)
 Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

PGFrameStyle get_frame_style (int state)
 Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

void set_frame_style (int state, const PGFrameStyle &style)
 Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

const string & get_id () const
 Returns the unique ID assigned to this PGItem.

void set_id (const string &id)
 Set the unique ID assigned to this PGItem.

string get_enter_event () const
 Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

string get_exit_event () const
 Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

string get_within_event () const
 Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame.

string get_without_event () const
 Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame.

string get_focus_in_event () const
 Returns the event name that will be thrown when the item gets the keyboard focus.

string get_focus_out_event () const
 Returns the event name that will be thrown when the item loses the keyboard focus.

string get_press_event (const ButtonHandle &button) const
 Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

string get_release_event (const ButtonHandle &button) const
 Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

string get_keystroke_event () const
 Returns the event name that will be thrown when the item is active and any key is pressed by the user.

virtual bool safe_to_flatten () const
 Returns true if it is generally safe to flatten out this particular kind of PandaNode by duplicating instances, false otherwise (for instance, a Camera cannot be safely flattened, because the Camera pointer itself is meaningful).

virtual bool safe_to_transform () const
 Returns true if it is generally safe to transform this particular kind of PandaNode by calling the xform() method, false otherwise.

virtual bool safe_to_modify_transform () const
 Returns true if it is safe to automatically adjust the transform on this kind of node.

virtual bool safe_to_combine () const
 Returns true if it is generally safe to combine this particular kind of PandaNode with other kinds of PandaNodes, adding children or whatever.

virtual bool safe_to_flatten_below () const
 Returns true if a flatten operation may safely continue past this node, or false if it should drop all attributes here and stop.

virtual bool preserve_name () const
 Returns true if the node's name has extrinsic meaning and must be preserved across a flatten operation, false otherwise.

virtual int get_unsafe_to_apply_attribs () const
 Returns the union of all attributes from SceneGraphReducer::AttribTypes that may not safely be applied to the vertices of this node.

virtual void apply_attribs_to_vertices (const AccumulatedAttribs &attribs, int attrib_types, GeomTransformer &transformer)
 Applies whatever attributes are specified in the AccumulatedAttribs object (and by the attrib_types bitmask) to the vertices on this node, if appropriate.

virtual PandaNodecombine_with (PandaNode *other)
 Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.

virtual ConstPointerTo< TransformStatecalc_tight_bounds (LPoint3f &min_point, LPoint3f &max_point, bool &found_any, const TransformState *transform) const
 This is used to support NodePath::calc_tight_bounds().

virtual bool has_selective_visibility () const
 Should be overridden by derived classes to return true if this kind of node has some restrictions on the set of children that should be rendered.

virtual int get_first_visible_child () const
 Returns the index number of the first visible child of this node, or a number >= get_num_children() if there are no visible children of this node.

virtual int get_next_visible_child (int n) const
 Returns the index number of the next visible child of this node following the indicated child, or a number >= get_num_children() if there are no more visible children of this node.

virtual bool has_single_child_visibility () const
 Should be overridden by derived classes to return true if this kind of node has the special property that just one of its children is visible at any given time, and furthermore that the particular visible child can be determined without reference to any external information (such as a camera).

virtual int get_visible_child () const
 Returns the index number of the currently visible child of this node.

PointerTo< PandaNodecopy_subgraph () const
 Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode.

int get_num_parents () const
 Returns the number of parent nodes this node has.

PandaNodeget_parent (int n) const
 Returns the nth parent node of this node.

int find_parent (PandaNode *node) const
 Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

int get_num_children () const
 Returns the number of child nodes this node has.

PandaNodeget_child (int n) const
 Returns the nth child node of this node.

int get_child_sort (int n) const
 Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()).

int find_child (PandaNode *node) const
 Returns the index of the indicated child node, if it is a child, or -1 if it is not.

void add_child (PandaNode *child_node, int sort=0)
 Adds a new child to the node.

void remove_child (int n)
 Removes the nth child from the node.

bool remove_child (PandaNode *child_node)
 Removes the indicated child from the node.

bool replace_child (PandaNode *orig_child, PandaNode *new_child)
 Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead.

bool stash_child (PandaNode *child_node)
 Stashes the indicated child node.

void stash_child (int child_index)
 Stashes the indicated child node.

bool unstash_child (PandaNode *child_node)
 Returns the indicated stashed node to normal child status.

void unstash_child (int stashed_index)
 Returns the indicated stashed node to normal child status.

int get_num_stashed () const
 Returns the number of stashed nodes this node has.

PandaNodeget_stashed (int n) const
 Returns the nth stashed node of this node.

int get_stashed_sort (int n) const
 Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()).

int find_stashed (PandaNode *node) const
 Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

void add_stashed (PandaNode *child_node, int sort=0)
 Adds a new child to the node, directly as a stashed child.

void remove_stashed (int n)
 Removes the nth stashed child from the node.

void remove_all_children ()
 Removes all the children from the node at once, including stashed children.

void steal_children (PandaNode *other)
 Moves all the children from the other node onto this node.

void copy_children (PandaNode *other)
 Makes another instance of all the children of the other node, copying them to this node.

void set_attrib (const RenderAttrib *attrib, int override=0)
 Adds the indicated render attribute to the scene graph on this node.

const RenderAttribget_attrib (TypeHandle type) const
 Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not.

bool has_attrib (TypeHandle type) const
 Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

void clear_attrib (TypeHandle type)
 Removes the render attribute of the given type from this node.

void set_effect (const RenderEffect *effect)
 Adds the indicated render effect to the scene graph on this node.

const RenderEffectget_effect (TypeHandle type) const
 Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

bool has_effect (TypeHandle type) const
 Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

void clear_effect (TypeHandle type)
 Removes the render effect of the given type from this node.

void clear_state ()
 Resets this node to leave the render state alone.

void set_effects (const RenderEffects *effects)
 Sets the complete RenderEffects that will be applied this node.

const RenderEffectsget_effects () const
 Returns the complete RenderEffects that will be applied to this node.

void clear_effects ()
 Resets this node to have no render effects.

void set_transform (const TransformState *transform)
 Sets the transform that will be applied to this node and below.

const TransformStateget_transform () const
 Returns the transform that has been set on this particular node.

void clear_transform ()
 Resets the transform on this node to the identity transform.

void set_draw_mask (DrawMask mask)
 Sets the hide/show bits of this particular node.

DrawMask get_draw_mask () const
 Returns the hide/show bits of this particular node.

CollideMask get_net_collide_mask () const
 Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

virtual void output (ostream &out) const
 Outputs the Namable.

virtual void write (ostream &out, int indent_level) const
void ls (ostream &out, int indent_level) const
 Lists all the nodes at and below the current path hierarchically.

void set_bound (BoundingVolumeType type)
 Sets the type of the external bounding volume that is placed around this node and all of its children.

void set_bound (const BoundingVolume &volume)
 Resets the internal bounding volume so that it is the indicated volume.

void set_bound (BoundingVolumeType type)
 Sets the type of the bounding volume that will be dynamically computed for this particular node.

const BoundingVolumeget_bound () const
 Returns the node's external bounding volume.

const BoundingVolumeget_internal_bound () const
 Returns the node's internal bounding volume.

virtual bool is_geom_node () const
 A simple downcast check.

virtual Lightas_light ()
 Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

virtual void set_velocity (const LVector3f &vel)
 Indicates the instantaneous velocity of this node.

Children get_children () const
 Returns an object that can be used to walk through the list of children of the node.

ChildrenCopy get_children_copy () const
 Returns an object that can be used to walk through the list of children of the node.

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().

virtual void finalize ()
 Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed.

int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.

bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.

void set_name (const string &name)
void clear_name ()
 Resets the Namable's name to empty.

bool has_name () const
 Returns true if the Namable has a nonempty name set, false if the name is empty.

const string & get_name () const
bool mark_bound_stale ()
 Marks the current bounding volume as stale, so that it will be recomputed later.

void force_bound_stale ()
 Marks the current volume as stale and propagates the effect at least one level, even if it had already been marked stale.

bool is_bound_stale () const
 Returns true if the bound is currently marked stale and will be recomputed the next time get_bound() is called.

void set_final (bool flag)
 Sets the "final" flag on this BoundedObject.

bool is_final () const
 Returns the current state of the "final" flag.

int get_ref_count () const
 Returns the current reference count.

int ref () const
 Explicitly increments the reference count.

int unref () const
 Explicitly decrements the reference count.

void test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.


Static Public Member Functions

string get_accept_prefix ()
 Returns the prefix that is used to define the accept event for all PGEntries.

string get_overflow_prefix ()
 Returns the prefix that is used to define the overflow event for all PGEntries.

string get_type_prefix ()
 Returns the prefix that is used to define the type event for all PGEntries.

string get_erase_prefix ()
 Returns the prefix that is used to define the erase event for all PGEntries.

TypeHandle get_class_type ()
void init_type ()
void background_press (const MouseWatcherParameter &param)
 Calls press() on all the PGItems with background focus.

void background_release (const MouseWatcherParameter &param)
 Calls release() on all the PGItems with background focus.

void background_keystroke (const MouseWatcherParameter &param)
 Calls keystroke() on all the PGItems with background focus.

string get_enter_prefix ()
 Returns the prefix that is used to define the enter event for all PGItems.

string get_exit_prefix ()
 Returns the prefix that is used to define the exit event for all PGItems.

string get_within_prefix ()
 Returns the prefix that is used to define the within event for all PGItems.

string get_without_prefix ()
 Returns the prefix that is used to define the without event for all PGItems.

string get_focus_in_prefix ()
 Returns the prefix that is used to define the focus_in event for all PGItems.

string get_focus_out_prefix ()
 Returns the prefix that is used to define the focus_out event for all PGItems.

string get_press_prefix ()
 Returns the prefix that is used to define the press event for all PGItems.

string get_release_prefix ()
 Returns the prefix that is used to define the release event for all PGItems.

string get_keystroke_prefix ()
 Returns the prefix that is used to define the keystroke event for all PGItems.

TextNodeget_text_node ()
 Returns the TextNode object that will be used by all PGItems to generate default labels given a string.

void set_text_node (TextNode *node)
 Changes the TextNode object that will be used by all PGItems to generate default labels given a string.

PGItemget_focus_item ()
 Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus.

void register_with_read_factory ()
 Tells the BamReader how to create objects of type PandaNode.


Static Public Attributes

TypedWritable *const Null = (TypedWritable*)0L

Protected Types

typedef pmap< PandaNode *,
PandaNode * > 
InstanceMap

Protected Member Functions

 PGEntry (const PGEntry &copy)
virtual void xform (const LMatrix4f &mat)
 Transforms the contents of this node by the indicated matrix, if it means anything to do so.

virtual BoundingVolumerecompute_internal_bound ()
 Called when needed to recompute the node's _internal_bound object.

void play_sound (const string &event)
 Plays the sound associated with the indicated event, if there is one.

virtual void propagate_stale_bound ()
 Called by BoundedObject::mark_bound_stale(), this should make sure that all bounding volumes that depend on this one are marked stale also.

virtual BoundingVolumerecompute_bound ()
 Recomputes the dynamic bounding volume for this object.

void changed_internal_bound ()
 Should be called whenever you adjust the _internal_bound member, to force the external bounding volume to be recomputed.

virtual void parents_changed ()
 Called after a scene graph update that either adds or remove parents from this node, this just provides a hook for derived PandaNode objects that need to update themselves based on the set of parents the node has.

virtual void children_changed ()
 Called after a scene graph update that either adds or remove children from this node, this just provides a hook for derived PandaNode objects that need to update themselves based on the set of children the node has.

virtual void transform_changed ()
 Called after the node's transform has been changed for any reason, this just provides a hook so derived classes can do something special in this case.

void add_net_collide_mask (CollideMask mask)
 Adds the indicated bits into the net_collide_mask for this node.

virtual PointerTo< PandaNoder_copy_subgraph (InstanceMap &inst_map) const
 This is the recursive implementation of copy_subgraph().

virtual void r_copy_children (const PandaNode *from, InstanceMap &inst_map)
 This is called by r_copy_subgraph(); the copy has already been made of this particular node (and this is the copy); this function's job is to copy all of the children from the original.

void fillin (DatagramIterator &scan, BamReader *manager)
 This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new PandaNode.

const BoundingVolumeget_bound_ptr () const
 Returns the state of the _bound pointer.

BoundingVolumeset_bound_ptr (BoundingVolume *bound)
 Changes the _bound pointer.


Static Protected Member Functions

TypedWritablemake_from_bam (const FactoryParams &params)
 This function is called by the BamReader's factory when a new object of type PandaNode is encountered in the Bam file.


Protected Attributes

BoundedObject _internal_bound

Private Types

typedef pvector< PointerTo<
TextNode > > 
TextDefs
typedef pvector< WWLineWWLines

Private Member Functions

const wstringget_display_wtext ()
 Returns the string that should be displayed within the entry.

void slot_text_def (int state)
 Ensures there is a slot in the array for the given text definition.

void update_text ()
 Causes the PGEntry to recompute its text, if necessary.

void update_cursor ()
 Moves the cursor to its correct position.

void show_hide_cursor (bool visible)
 Makes the cursor visible or invisible, e.g.

void update_state ()
 Determines what the correct state for the PGEntry should be.


Private Attributes

wstring _wtext
wstring _obscured_wtext
int _cursor_position
bool _cursor_stale
bool _cursor_visible
int _max_chars
float _max_width
int _num_lines
TextDefs _text_defs
NodePath _text_render_root
NodePath _current_text
TextNode_last_text_def
bool _text_geom_stale
WWLines _ww_lines
NodePath _cursor_def
double _blink_start
double _blink_rate
bool _cursor_keys_active
bool _obscure_mode

Static Private Attributes

TypeHandle _type_handle

Friends

class PandaNode::Children

Detailed Description

This is a particular kind of PGItem that handles simple one-line text entries, of the sort where the user can type any string.

A PGEntry does all of its internal manipulation on a wide string, so it can store the full Unicode character set. The interface can support either the wide string getters and setters, or the normal 8-bit string getters and setters, which use whatever encoding method is specified by the associated TextNode.

Definition at line 61 of file pgEntry.h.


Member Typedef Documentation

typedef pmap<PandaNode *, PandaNode *> PandaNode::InstanceMap [protected, inherited]
 

Definition at line 206 of file pandaNode.h.

typedef pvector< PointerTo< TextNode > > PGEntry::TextDefs [private]
 

Definition at line 155 of file pgEntry.h.

typedef pvector<WWLine> PGEntry::WWLines [private]
 

Definition at line 175 of file pgEntry.h.


Member Enumeration Documentation

enum BoundedObject::BoundingVolumeType [inherited]
 

Enumeration values:
BVT_static 
BVT_dynamic_sphere 

Definition at line 58 of file boundedObject.h.

enum PGEntry::State
 

Enumeration values:
S_focus 
S_no_focus 
S_inactive 

Definition at line 83 of file pgEntry.h.


Constructor & Destructor Documentation

PGEntry::PGEntry const string &  name  ) 
 

Definition at line 47 of file pgEntry.cxx.

References _blink_rate, _blink_start, _cursor_def, _cursor_keys_active, _cursor_visible, _last_text_def, _max_width, _num_lines, _obscure_mode, _text_geom_stale, _text_render_root, and NULL.

PGEntry::~PGEntry  )  [virtual]
 

Definition at line 80 of file pgEntry.cxx.

PGEntry::PGEntry const PGEntry &  copy  )  [protected]
 

Definition at line 92 of file pgEntry.cxx.

References _cursor_stale, _last_text_def, _text_geom_stale, and NULL.


Member Function Documentation

void PGEntry::accept const MouseWatcherParameter param  )  [virtual]
 

This is a callback hook function, called whenever the entry is accepted by the user pressing Enter normally.

Definition at line 521 of file pgEntry.cxx.

References _cursor_position, TextNode::get_line_height(), get_text_def(), S_focus, set_max_chars(), set_max_width(), set_num_lines(), set_text(), and width.

void PGItem::activate_region const LMatrix4f &  transform,
int  sort
[inherited]
 

Applies the indicated scene graph transform and order as determined by the traversal from PGTop.

Definition at line 339 of file pgItem.cxx.

References PGItem::get_within_event(), PGItem::play_sound(), and throw_event().

void PandaNode::add_child PandaNode child_node,
int  sort = 0
[inherited]
 

Adds a new child to the node.

The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.

If the same child is added to a node more than once, the previous instance is first removed.

Definition at line 1090 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::children_changed(), PandaNode::new_connection(), PT, and PandaNode::remove_child().

Referenced by PandaNode::replace_child(), and PandaNode::steal_children().

void PandaNode::add_net_collide_mask CollideMask  mask  )  [inline, protected, inherited]
 

Adds the indicated bits into the net_collide_mask for this node.

This is normally called only by CollisionNode::recompute_bound().

Definition at line 1071 of file pandaNode.I.

void PandaNode::add_stashed PandaNode child_node,
int  sort = 0
[inherited]
 

Adds a new child to the node, directly as a stashed child.

The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.

If the same child is added to a node more than once, the previous instance is first removed.

Definition at line 1406 of file pandaNode.cxx.

void PandaNode::apply_attribs_to_vertices const AccumulatedAttribs attribs,
int  attrib_types,
GeomTransformer transformer
[virtual, inherited]
 

Applies whatever attributes are specified in the AccumulatedAttribs object (and by the attrib_types bitmask) to the vertices on this node, if appropriate.

If this node uses geom arrays like a GeomNode, the supplied GeomTransformer may be used to unify shared arrays across multiple different nodes.

This is a generalization of xform().

Reimplemented in GeomNode, and TextNode.

Definition at line 687 of file pandaNode.cxx.

Light * PandaNode::as_light  )  [virtual, inherited]
 

Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

Reimplemented in LightLensNode, and LightNode.

Definition at line 1641 of file pandaNode.cxx.

void PGItem::background_keystroke const MouseWatcherParameter param  )  [static, inherited]
 

Calls keystroke() on all the PGItems with background focus.

Definition at line 604 of file pgItem.cxx.

References PGItem::_state_defs.

void PGItem::background_press const MouseWatcherParameter param  )  [static, inherited]
 

Calls press() on all the PGItems with background focus.

Definition at line 562 of file pgItem.cxx.

Referenced by PGMouseWatcherBackground::~PGMouseWatcherBackground().

void PGItem::background_release const MouseWatcherParameter param  )  [static, inherited]
 

Calls release() on all the PGItems with background focus.

Definition at line 583 of file pgItem.cxx.

ConstPointerTo< TransformState > PandaNode::calc_tight_bounds LPoint3f &  min_point,
LPoint3f &  max_point,
bool &  found_any,
const TransformState transform
const [virtual, inherited]
 

This is used to support NodePath::calc_tight_bounds().

It is not intended to be called directly, and it has nothing to do with the normal Panda bounding-volume computation.

If the node contains any geometry, this updates min_point and max_point to enclose its bounding box. found_any is to be set true if the node has any geometry at all, or left alone if it has none. This method may be called over several nodes, so it may enter with min_point, max_point, and found_any already set.

This function is recursive, and the return value is the transform after it has been modified by this node's transform.

Reimplemented in GeomNode, and TextNode.

Definition at line 807 of file pandaNode.cxx.

Referenced by NodePath::clear_depth_test().

void PandaNode::changed_internal_bound  )  [inline, protected, inherited]
 

Should be called whenever you adjust the _internal_bound member, to force the external bounding volume to be recomputed.

Definition at line 1054 of file pandaNode.I.

void PandaNode::children_changed  )  [protected, virtual, inherited]
 

Called after a scene graph update that either adds or remove children from this node, this just provides a hook for derived PandaNode objects that need to update themselves based on the set of children the node has.

Definition at line 1840 of file pandaNode.cxx.

Referenced by PandaNode::add_child(), and PandaNode::remove_child().

void PandaNode::clear_attrib TypeHandle  type  )  [inline, inherited]
 

Removes the render attribute of the given type from this node.

This node, and the subgraph below, will now inherit the indicated render attribute from the nodes above this one.

Definition at line 630 of file pandaNode.I.

Referenced by NodePath::clear_bin(), NodePath::clear_render_mode(), NodePath::has_texture(), and NodePath::set_texture_off().

void PGEntry::clear_cursor_def  )  [inline]
 

Removes all the children from the cursor_def node, in preparation for adding a new definition.

Definition at line 290 of file pgEntry.I.

void PandaNode::clear_effect TypeHandle  type  )  [inline, inherited]
 

Removes the render effect of the given type from this node.

Definition at line 703 of file pandaNode.I.

References PandaNode::_cycler, BoundedObject::get_bound(), and INLINE.

void PandaNode::clear_effects  )  [inline, inherited]
 

Resets this node to have no render effects.

Definition at line 819 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

void PGItem::clear_frame  )  [inline, inherited]
 

Removes the bounding rectangle from the item.

It will no longer be possible to position the mouse within the item; see set_frame().

Definition at line 138 of file pgItem.I.

References PGItem::_flags, PGItem::F_focus, and INLINE.

void Namable::clear_name  )  [inline, inherited]
 

Resets the Namable's name to empty.

Definition at line 82 of file namable.I.

References Namable::_name, and INLINE.

void PandaNode::clear_state  )  [inline, inherited]
 

Resets this node to leave the render state alone.

Nodes at this level and below will once again inherit their render state unchanged from the nodes above this level.

Definition at line 769 of file pandaNode.I.

References PandaNode::_internal_bound.

void PGItem::clear_state_def int  state  )  [inherited]
 

Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

Definition at line 794 of file pgItem.cxx.

References AudioSound::play().

Referenced by PGButton::release(), and PGButton::setup().

void PandaNode::clear_transform  )  [inline, inherited]
 

Resets the transform on this node to the identity transform.

Definition at line 875 of file pandaNode.I.

Referenced by NodePath::get_transform().

PandaNode * PandaNode::combine_with PandaNode other  )  [virtual, inherited]
 

Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.

The return value may be this, other, or a new PandaNode altogether.

This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

Reimplemented in CollisionNode, and GeomNode.

Definition at line 741 of file pandaNode.cxx.

Referenced by CollisionNode::xform().

int TypedWritable::complete_pointers TypedWritable **  p_list,
BamReader manager
[virtual, inherited]
 

Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().

Returns the number of pointers processed.

This is the callback function that is made by the BamReader at some later point, after all of the required pointers have been filled in. It is necessary because there might be forward references in a bam file; when we call read_pointer() in fillin(), the object may not have been read from the file yet, so we do not have a pointer available at that time. Thus, instead of returning a pointer, read_pointer() simply reserves a later callback. This function provides that callback. The calling object is responsible for keeping track of the number of times it called read_pointer() and extracting the same number of pointers out of the supplied vector, and storing them appropriately within the object.

Reimplemented in AnimBundleNode, AnimGroup, PartBundleNode, PartGroup, Character, CharacterJoint, CollisionNode, GeomSprite, PiecewiseCurve, ClipPlaneAttrib, FogAttrib, LensNode, LightAttrib, MaterialAttrib, RenderEffects, RenderState, TextureAttrib, Person, and Child.

Definition at line 94 of file typedWritable.cxx.

Referenced by RenderState::do_invert_compose().

void PandaNode::copy_children PandaNode other  )  [inherited]
 

Makes another instance of all the children of the other node, copying them to this node.

Definition at line 1546 of file pandaNode.cxx.

References NULL.

PointerTo< PandaNode > PandaNode::copy_subgraph  )  const [inherited]
 

Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode.

Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

Definition at line 1037 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::get_num_stashed(), PandaNode::get_stashed(), PandaNode::get_stashed_sort(), nassertv, PT, and PandaNode::remove_stashed().

bool PGEntry::cull_callback CullTraverser trav,
CullTraverserData data
[virtual]
 

If has_cull_callback() returns true, this function will be called during the cull traversal to perform any additional operations that should be performed at cull time.

This may include additional manipulation of render state or additional visible/invisible decisions, or any other arbitrary operation.

By the time this function is called, the node has already passed the bounding-volume test for the viewing frustum, and the node's transform and state have already been applied to the indicated CullTraverserData object.

The return value is true if this node should be visible, or false if it should be culled.

Reimplemented from PGItem.

Definition at line 187 of file pgEntry.cxx.

References _cursor_position, _cursor_stale, _obscure_mode, _obscured_wtext, _text_geom_stale, _wtext, and erase().

void PGItem::enter const MouseWatcherParameter param  )  [virtual, inherited]
 

This is a callback hook function, called whenever the mouse enters the region.

The mouse is only considered to be "entered" in one region at a time; in the case of nested regions, it exits the outer region before entering the inner one.

Reimplemented in PGButton.

Definition at line 376 of file pgItem.cxx.

References PGItem::get_focus_in_event(), PGItem::play_sound(), and throw_event().

Referenced by PGMouseWatcherRegion::~PGMouseWatcherRegion().

void PGEntry::erase const MouseWatcherParameter param  )  [virtual]
 

This is a callback hook function, called whenever the user erase characters in the text.

Definition at line 580 of file pgEntry.cxx.

References PandaNode::ls().

Referenced by cull_callback().

void PGItem::exit const MouseWatcherParameter param  )  [virtual, inherited]
 

This is a callback hook function, called whenever the mouse exits the region.

The mouse is only considered to be "entered" in one region at a time; in the case of nested regions, it exits the outer region before entering the inner one.

Reimplemented in PGButton.

Definition at line 400 of file pgItem.cxx.

References MouseWatcherParameter::get_button(), PGItem::get_press_event(), PGItem::play_sound(), and throw_event().

Referenced by PGMouseWatcherRegion::enter(), and PGButton::make_copy().

void PandaNode::fillin DatagramIterator scan,
BamReader manager
[protected, inherited]
 

This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new PandaNode.

Reimplemented from TypedWritable.

Reimplemented in AnimBundleNode, PartBundleNode, Character, CollisionNode, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, ParametricCurve, PiecewiseCurve, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, ModelNode, ModelRoot, PlaneNode, PointLight, SequenceNode, Spotlight, and SwitchNode.

Definition at line 2580 of file pandaNode.cxx.

Referenced by SequenceNode::has_single_child_visibility(), GeomNode::output(), PlaneNode::register_with_read_factory(), LightNode::write(), and Fog::write_datagram().

void TypedWritable::finalize void   )  [virtual, inherited]
 

Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed.

Reimplemented in PartBundle, RenderAttrib, RenderEffect, RenderEffects, RenderState, and TransformState.

Definition at line 112 of file typedWritable.cxx.

Referenced by BamReader::skip_pointer().

int PandaNode::find_child PandaNode node  )  const [inherited]
 

Returns the index of the indicated child node, if it is a child, or -1 if it is not.

Definition at line 1053 of file pandaNode.cxx.

Referenced by PandaNode::cull_callback(), PandaFramework::event_i(), PandaFramework::event_l(), and PandaNode::get_parent().

int PandaNode::find_parent PandaNode node  )  const [inline, inherited]
 

Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

Definition at line 350 of file pandaNode.I.

Referenced by PandaNode::cull_callback(), and PandaNode::has_selective_visibility().

int PandaNode::find_stashed PandaNode node  )  const [inherited]
 

Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

Definition at line 1370 of file pandaNode.cxx.

Referenced by NodePath::clear_two_sided(), and PandaNode::cull_callback().

void PGItem::focus_in  )  [virtual, inherited]
 

This is a callback hook function, called whenever the widget gets the keyboard focus.

Definition at line 464 of file pgItem.cxx.

References PGItem::_background_focus, PGItem::get_focus(), and PGItem::release().

void PGItem::focus_out  )  [virtual, inherited]
 

This is a callback hook function, called whenever the widget loses the keyboard focus.

Definition at line 481 of file pgItem.cxx.

References PGItem::_background_focus, PGItem::get_focus(), and PGItem::keystroke().

void BoundedObject::force_bound_stale  )  [inline, inherited]
 

Marks the current volume as stale and propagates the effect at least one level, even if it had already been marked stale.

Definition at line 188 of file boundedObject.I.

References BoundedObject::_cycler, BoundedObject::F_final, and INLINE.

Referenced by PandaNode::remove_child().

virtual TypeHandle PGEntry::force_init_type void   )  [inline, virtual]
 

Reimplemented from PGItem.

Definition at line 201 of file pgEntry.h.

string PGEntry::get_accept_event const ButtonHandle button  )  const [inline]
 

Returns the event name that will be thrown when the entry is accepted normally.

Definition at line 457 of file pgEntry.I.

string PGEntry::get_accept_prefix  )  [inline, static]
 

Returns the prefix that is used to define the accept event for all PGEntries.

The accept event is the concatenation of this string followed by get_id().

Definition at line 391 of file pgEntry.I.

bool PGItem::get_active  )  const [inline, inherited]
 

Returns whether the PGItem is currently active for mouse events.

See set_active().

Definition at line 190 of file pgItem.I.

References PGItem::_region, and INLINE.

Referenced by PGButton::enter(), PGButton::exit(), PGButton::make_copy(), and PGItem::release().

const RenderAttrib * PandaNode::get_attrib TypeHandle  type  )  const [inline, inherited]
 

Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not.

This checks only what is set on this particular node level, and has nothing to do with what render attributes may be inherited from parent nodes.

Definition at line 587 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

Referenced by NodePath::get_bin_draw_order(), NodePath::get_bin_name(), NodePath::get_color(), NodePath::get_quat(), NodePath::has_bin(), NodePath::has_material(), NodePath::has_texture_off(), NodePath::set_mat(), and NodePath::set_material().

bool PGItem::get_background_focus  )  const [inline, inherited]
 

Returns whether background_focus is currently enabled.

See set_background_focus().

Definition at line 220 of file pgItem.I.

References INLINE.

float PGEntry::get_blink_rate  )  const [inline]
 

Returns the number of times per second the cursor will blink, or 0 if the cursor is not to blink.

Definition at line 258 of file pgEntry.I.

References _obscure_mode, and INLINE.

const BoundingVolume & PandaNode::get_bound  )  const [inline, inherited]
 

Returns the node's external bounding volume.

This is the bounding volume around the node and all of its children.

Reimplemented from BoundedObject.

Definition at line 1015 of file pandaNode.I.

const BoundingVolume * BoundedObject::get_bound_ptr  )  const [inline, protected, inherited]
 

Returns the state of the _bound pointer.

To be used only internally by derived classes.

This returns a const pointer only; the bounding volume should not be modified directly, because that might interfere with pipelining. Instead, create a new copy with make_copy(), modify the copy, and set_bound_ptr() with the copy.

Alternatively, if you have just called recompute_bound(), which is guaranteed to reset the pointer, just use the return value from that as a non-const BoundingVolume pointer.

Definition at line 318 of file boundedObject.I.

PandaNode * PandaNode::get_child int  n  )  const [inline, inherited]
 

Returns the nth child node of this node.

See get_num_children().

Definition at line 390 of file pandaNode.I.

References PandaNode::_cycler, INLINE, nassertr, and NULL.

Referenced by PandaFramework::event_i(), PandaFramework::event_l(), PandaNode::has_single_child_visibility(), PT(), and PandaNode::replace_child().

int PandaNode::get_child_sort int  n  )  const [inline, inherited]
 

Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()).

See get_num_children().

Definition at line 409 of file pandaNode.I.

References PandaNode::_cycler, INLINE, and nassertr.

Referenced by PandaNode::has_single_child_visibility(), and PandaNode::replace_child().

PandaNode::Children PandaNode::get_children  )  const [inline, inherited]
 

Returns an object that can be used to walk through the list of children of the node.

When you intend to visit multiple children, using this is slightly faster than calling get_child() directly on the PandaNode, since this object keeps the PipelineCycler open the whole time.

However, this object does not protect you from self-modifying loops (e.g. adding or removing children during traversal).

Definition at line 1103 of file pandaNode.I.

Referenced by CullTraverser::get_bounds_inner_viz_state(), NodePath::get_top_node(), SortByState::operator()(), PandaNode::preserve_name(), NodePath::set_transparency(), and DataGraphTraverser::traverse().

PandaNode::ChildrenCopy PandaNode::get_children_copy  )  const [inline, inherited]
 

Returns an object that can be used to walk through the list of children of the node.

Unlike get_children(), this function actually returns an object that protects you from self-modifying loops, because it makes and returns a copy of the complete children list.

Definition at line 1127 of file pandaNode.I.

TypeHandle PGEntry::get_class_type void   )  [inline, static]
 

Reimplemented from PGItem.

Definition at line 190 of file pgEntry.h.

const NodePath & PGEntry::get_cursor_def  )  [inline]
 

Returns the Node that will be rendered to represent the cursor.

You can attach suitable cursor geometry to this node.

Definition at line 275 of file pgEntry.I.

References INLINE.

bool PGEntry::get_cursor_keys_active  )  const [inline]
 

Returns whether the arrow keys are currently set to control movement of the cursor; see set_cursor_keys_active().

Definition at line 325 of file pgEntry.I.

int PGEntry::get_cursor_position  )  const [inline]
 

Returns the current position of the cursor.

Definition at line 97 of file pgEntry.I.

References _max_chars, and INLINE.

const wstring & PGEntry::get_display_wtext  )  [private]
 

Returns the string that should be displayed within the entry.

This is normally _wtext, but it may be _obscured_wtext.

Definition at line 793 of file pgEntry.cxx.

References _cursor_position, _cursor_stale, _last_text_def, _wtext, _ww_lines, TextNode::calc_width(), TextNode::get_line_height(), PGItem::get_state(), get_text_def(), nassertv, NULL, update_text(), and width.

DrawMask PandaNode::get_draw_mask  )  const [inline, inherited]
 

Returns the hide/show bits of this particular node.

See set_draw_mask().

Definition at line 938 of file pandaNode.I.

Referenced by CullTraverserData::~CullTraverserData().

const RenderEffect * PandaNode::get_effect TypeHandle  type  )  const [inline, inherited]
 

Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

Definition at line 664 of file pandaNode.I.

References INLINE, and PandaNode::r_list_descendants().

const RenderEffects * PandaNode::get_effects  )  const [inline, inherited]
 

Returns the complete RenderEffects that will be applied to this node.

Definition at line 805 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

Referenced by CullTraverser::traverse().

string PGItem::get_enter_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

Definition at line 490 of file pgItem.I.

Referenced by PGItem::recompute_internal_bound().

string PGItem::get_enter_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the enter event for all PGItems.

The enter event is the concatenation of this string followed by get_id().

Definition at line 319 of file pgItem.I.

References INLINE.

Referenced by PGItem::get_exit_prefix().

string PGEntry::get_erase_event  )  const [inline]
 

Returns the event name that will be thrown whenever the user erases characters in the text.

Definition at line 506 of file pgEntry.I.

string PGEntry::get_erase_prefix  )  [inline, static]
 

Returns the prefix that is used to define the erase event for all PGEntries.

The erase event is the concatenation of this string followed by get_id().

Definition at line 442 of file pgEntry.I.

string PGItem::get_exit_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

Definition at line 507 of file pgItem.I.

string PGItem::get_exit_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the exit event for all PGItems.

The exit event is the concatenation of this string followed by get_id().

Definition at line 336 of file pgItem.I.

References PGItem::get_enter_prefix(), PGItem::get_id(), and INLINE.

Referenced by PGItem::get_within_prefix().

int PandaNode::get_first_visible_child  )  const [virtual, inherited]
 

Returns the index number of the first visible child of this node, or a number >= get_num_children() if there are no visible children of this node.

This is called during the cull traversal, but only if has_selective_visibility() has already returned true. See has_selective_visibility().

Reimplemented in SelectiveChildNode.

Definition at line 941 of file pandaNode.cxx.

Referenced by CullTraverser::get_bounds_inner_viz_state().

bool PGItem::get_focus  )  const [inline, inherited]
 

Returns whether the PGItem currently has focus for keyboard events.

See set_focus().

Definition at line 205 of file pgItem.I.

References PGItem::_region, and INLINE.

Referenced by PGItem::focus_in(), PGItem::focus_out(), PGItem::press(), and PGItem::without().

string PGItem::get_focus_in_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item gets the keyboard focus.

Definition at line 566 of file pgItem.I.

Referenced by PGItem::enter().

string PGItem::get_focus_in_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the focus_in event for all PGItems.

The focus_in event is the concatenation of this string followed by get_id().

Unlike most item events, this event is thrown with no parameters.

Definition at line 393 of file pgItem.I.

References PGItem::get_id().

PGItem * PGItem::get_focus_item  )  [inline, static, inherited]
 

Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus.

Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

Definition at line 670 of file pgItem.I.

string PGItem::get_focus_out_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item loses the keyboard focus.

Definition at line 581 of file pgItem.I.

string PGItem::get_focus_out_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the focus_out event for all PGItems.

The focus_out event is the concatenation of this string followed by get_id().

Unlike most item events, this event is thrown with no parameters.

Definition at line 416 of file pgItem.I.

References PGItem::get_id(), ButtonHandle::get_name(), PGItem::get_press_prefix(), and INLINE.

const LVecBase4f & PGItem::get_frame  )  const [inline, inherited]
 

Returns the bounding rectangle of the item.

See set_frame(). It is an error to call this if has_frame() returns false.

Definition at line 105 of file pgItem.I.

References PGItem::_state, and INLINE.

PGFrameStyle PGItem::get_frame_style int  state  )  [inherited]
 

Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

Definition at line 871 of file pgItem.cxx.

const string & PGItem::get_id void   )  const [inline, inherited]
 

Returns the unique ID assigned to this PGItem.

This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

Definition at line 273 of file pgItem.I.

References INLINE.

Referenced by PGItem::get_exit_prefix(), PGItem::get_focus_in_prefix(), PGItem::get_focus_out_prefix(), PGItem::get_press_prefix(), PGItem::get_within_prefix(), PGItem::get_without_prefix(), and set_obscure_mode().

const BoundingVolume & PandaNode::get_internal_bound  )  const [inline, inherited]
 

Returns the node's internal bounding volume.

This is the bounding volume around the node alone, without including children.

Definition at line 1032 of file pandaNode.I.

string PGItem::get_keystroke_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and any key is pressed by the user.

Definition at line 634 of file pgItem.I.

string PGItem::get_keystroke_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the keystroke event for all PGItems.

The keystroke event is the concatenation of this string followed by a hyphen and get_id().

Definition at line 473 of file pgItem.I.

Referenced by PGItem::get_press_prefix().

int PGEntry::get_max_chars  )  const [inline]
 

Returns the current maximum number of characters that may be typed into the entry, or 0 if there is no limit.

See set_max_chars().

Definition at line 137 of file pgEntry.I.

References _num_lines, _text_geom_stale, INLINE, and nassertv.

float PGEntry::get_max_width  )  const [inline]
 

Returns the current maximum width of the characters that may be typed into the entry, or 0 if there is no limit.

See set_max_width().

Definition at line 188 of file pgEntry.I.

References _cursor_def, and INLINE.

const string & Namable::get_name  )  const [inline, inherited]
 

Definition at line 109 of file namable.I.

Referenced by ComputedVerticesMaker::add_normal(), GLGraphicsStateGuardian::begin_bind_clip_planes(), GLGraphicsStateGuardian::begin_bind_lights(), BuilderBucket::BuilderBucket(), EggVertex::clear_grefs(), AnimBundleMaker::create_xfm_channel(), SceneGraphReducer::do_flatten_siblings(), BuilderBucket::done_geom(), DXTextureContext8::DXTextureContext8(), PartGroup::find_child(), EggLoader::find_collision_geometry(), EggGroupUniquifier::get_category(), PartBundle::get_control_effect(), PartGroup::get_num_children(), EggMorph< Parameter >::get_offset(), AnimChannelBase::has_changed(), Namable::has_name(), EggMaterial::is_equivalent_to(), Texture::load(), EggLoader::make_node(), AnimBundleMaker::make_node(), FindApproxPath::Component::matches(), LineSegs::move_to(), MovingPartBase::MovingPartBase(), NodeMap::NodeMap(), EggMorph< Parameter >::operator<(), operator<<(), MouseWatcherRegion::output(), AnimGroup::output(), EggXfmSAnim::r_transform(), Texture::read(), MouseWatcherGroup::remove_region(), EggLoader::reparent_decals(), CRGraphicsStateGuardian::set_blend_mode(), NodePath::set_color(), GLGraphicsStateGuardian::set_draw_buffer(), AnimChannelScalarTable::set_table(), NodePath::set_transparency(), NodePathComponent::uncollapse(), Texture::unprepare(), TextNode::wordwrap_to(), MovingPartBase::write(), CollisionNode::xform(), and EggVertex::~EggVertex().

CollideMask PandaNode::get_net_collide_mask  )  const [inline, inherited]
 

Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

Definition at line 954 of file pandaNode.I.

int PandaNode::get_next_visible_child int  n  )  const [virtual, inherited]
 

Returns the index number of the next visible child of this node following the indicated child, or a number >= get_num_children() if there are no more visible children of this node.

See has_selective_visibility() and get_first_visible_child().

Reimplemented in SelectiveChildNode.

Definition at line 964 of file pandaNode.cxx.

int PandaNode::get_num_children  )  const [inline, inherited]
 

Returns the number of child nodes this node has.

The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

Definition at line 374 of file pandaNode.I.

Referenced by PandaFramework::event_l(), SelectiveChildNode::has_selective_visibility(), PandaNode::has_single_child_visibility(), PT(), and LODNode::xform().

int PGEntry::get_num_lines  )  const [inline]
 

Returns the number of lines of text the PGEntry will use, if _max_width is not 0.

See set_num_lines().

Definition at line 222 of file pgEntry.I.

References _cursor_keys_active, and INLINE.

int PandaNode::get_num_parents  )  const [inline, inherited]
 

Returns the number of parent nodes this node has.

If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

Definition at line 317 of file pandaNode.I.

References PandaNode::_cycler, INLINE, and nassertr.

Referenced by ParticleSystem::birth_litter(), DataNode::define_output(), Fog::output(), PandaNode::transform_changed(), and DataGraphTraverser::traverse().

int PandaNode::get_num_stashed  )  const [inline, inherited]
 

Returns the number of stashed nodes this node has.

These are former children of the node that have been moved to the special stashed list via stash_child().

Definition at line 508 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

Referenced by PandaNode::copy_subgraph().

int PGItem::get_num_state_defs  )  const [inherited]
 

Returns one more than the highest-numbered state def that was ever assigned to the PGItem.

The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).

This is only an upper limit on the actual number of state defs, since there may be holes in the list.

Definition at line 757 of file pgItem.cxx.

bool PGEntry::get_obscure_mode  )  const [inline]
 

Specifies whether obscure mode is enabled.

See set_obscure_mode().

Definition at line 374 of file pgEntry.I.

string PGEntry::get_overflow_event  )  const [inline]
 

Returns the event name that will be thrown when too much text is attempted to be entered into the PGEntry, exceeding either the limit set via set_max_chars() or via set_max_width().

Definition at line 476 of file pgEntry.I.

string PGEntry::get_overflow_prefix  )  [inline, static]
 

Returns the prefix that is used to define the overflow event for all PGEntries.

The overflow event is the concatenation of this string followed by get_id().

Definition at line 408 of file pgEntry.I.

PandaNode * PandaNode::get_parent int  n  )  const [inline, inherited]
 

Returns the nth parent node of this node.

See get_num_parents().

Definition at line 333 of file pandaNode.I.

References PandaNode::find_child(), INLINE, and PandaNode::stash_child().

Referenced by ParticleSystem::birth_litter(), and DataNode::define_output().

string PGItem::get_press_event const ButtonHandle button  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

Definition at line 600 of file pgItem.I.

Referenced by PGItem::exit().

string PGItem::get_press_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the press event for all PGItems.

The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

Definition at line 435 of file pgItem.I.

References PGItem::get_id(), PGItem::get_keystroke_prefix(), and INLINE.

Referenced by PGItem::get_focus_out_prefix().

int ReferenceCount::get_ref_count  )  const [inline, inherited]
 

Returns the current reference count.

Definition at line 183 of file referenceCount.I.

Referenced by RenderState::determine_bin_index(), RenderEffects::determine_show_bounds(), FontPool::ns_garbage_collect(), TexturePool::ns_garbage_collect(), MaterialPool::ns_get_material(), and TexturePool::ns_release_texture().

PGMouseWatcherRegion * PGItem::get_region  )  const [inline, inherited]
 

Returns the MouseWatcherRegion associated with this item.

Every PGItem has a MouseWatcherRegion associated with it, that is created when the PGItem is created; it does not change during the lifetime of the PGItem. Even items that do not have a frame have an associated MouseWatcherRegion, although it will not be used in this case.

Definition at line 44 of file pgItem.I.

References INLINE, and PGItem::set_frame().

string PGItem::get_release_event const ButtonHandle button  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

Definition at line 619 of file pgItem.I.

string PGItem::get_release_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the release event for all PGItems.

The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

Definition at line 454 of file pgItem.I.

References PGItem::_text_node.

PandaNode * PandaNode::get_stashed int  n  )  const [inline, inherited]
 

Returns the nth stashed node of this node.

See get_num_stashed().

Definition at line 524 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

Referenced by PandaNode::copy_subgraph().

int PandaNode::get_stashed_sort int  n  )  const [inline, inherited]
 

Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()).

See get_num_stashed().

Definition at line 543 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

Referenced by PandaNode::copy_subgraph().

int PGItem::get_state  )  const [inline, inherited]
 

Returns the "state" of this particular PGItem.

See set_state().

Reimplemented from PandaNode.

Definition at line 175 of file pgItem.I.

References PGItem::_region, and INLINE.

Referenced by get_display_wtext().

NodePath & PGItem::get_state_def int  state  )  [inherited]
 

Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state.

The first time this is called for a particular state index, it may create the Node.

Definition at line 821 of file pgItem.cxx.

Referenced by PGButton::release().

int PGItem::get_suppress_flags  )  const [inline, inherited]
 

This is just an interface to get the suppress flags on the underlying MouseWatcherRegion.

See MouseWatcherRegion::get_suppress_flags().

Definition at line 254 of file pgItem.I.

References INLINE.

string PGEntry::get_text  )  const [inline]
 

Returns the text currently displayed within the entry.

This uses the Unicode encoding currently specified for the "focus" TextNode; therefore, the TextNode must exist before calling get_text().

Definition at line 59 of file pgEntry.I.

References _blink_start, _cursor_position, _cursor_stale, ClockObject::get_frame_time(), and ClockObject::get_global_clock().

TextNode * PGEntry::get_text_def int  state  )  const
 

Returns the TextNode that will be used to render the text within the entry when the entry is in the indicated state.

See set_text_def().

Definition at line 734 of file pgEntry.cxx.

References _last_text_def, PGEntry::WWLine::_left, _max_width, _num_lines, PGEntry::WWLine::_str, _ww_lines, TextNode::A_left, TextNode::get_align(), TextNode::get_left(), TextNode::set_wtext(), size_t, TextNode::wordwrap_to(), and wstring.

Referenced by accept(), get_display_wtext(), and set_text().

TextNode * PGItem::get_text_node  )  [static, inherited]
 

Returns the TextNode object that will be used by all PGItems to generate default labels given a string.

This can be loaded with the default font, etc.

Definition at line 980 of file pgItem.cxx.

Referenced by PGButton::release().

const TransformState * PandaNode::get_transform  )  const [inline, inherited]
 

Returns the transform that has been set on this particular node.

This is not the net transform from the root, but simply the transform on this particular node.

Reimplemented in TrackerNode, and TextNode.

Definition at line 859 of file pandaNode.I.

Referenced by NodePath::do_billboard_point_world(), PandaNode::preserve_name(), NodePath::set_transform(), ActorNode::update_transform(), and CullTraverserData::~CullTraverserData().

virtual TypeHandle PGEntry::get_type void   )  const [inline, virtual]
 

Reimplemented from PGItem.

Definition at line 198 of file pgEntry.h.

string PGEntry::get_type_event  )  const [inline]
 

Returns the event name that will be thrown whenever the user extends the text by typing.

Definition at line 491 of file pgEntry.I.

int TypedObject::get_type_index  )  const [inline, inherited]
 

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 71 of file typedObject.I.

References TypeHandle::get_name(), TypedObject::get_type(), and INLINE.

string PGEntry::get_type_prefix  )  [inline, static]
 

Returns the prefix that is used to define the type event for all PGEntries.

The type event is the concatenation of this string followed by get_id().

Definition at line 425 of file pgEntry.I.

int PandaNode::get_unsafe_to_apply_attribs  )  const [virtual, inherited]
 

Returns the union of all attributes from SceneGraphReducer::AttribTypes that may not safely be applied to the vertices of this node.

If this is nonzero, these attributes must be dropped at this node as a state change.

This is a generalization of safe_to_transform().

Reimplemented in TextNode.

Definition at line 660 of file pandaNode.cxx.

int PandaNode::get_visible_child  )  const [virtual, inherited]
 

Returns the index number of the currently visible child of this node.

This is only meaningful if has_single_child_visibility() has returned true.

Reimplemented in SequenceNode, and SwitchNode.

Definition at line 1016 of file pandaNode.cxx.

string PGItem::get_within_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame.

This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

Definition at line 528 of file pgItem.I.

Referenced by PGItem::activate_region().

string PGItem::get_within_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the within event for all PGItems.

The within event is the concatenation of this string followed by get_id().

Definition at line 353 of file pgItem.I.

References PGItem::get_exit_prefix(), and PGItem::get_id().

string PGItem::get_without_event  )  const [inline, inherited]
 

Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame.

This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

Definition at line 551 of file pgItem.I.

string PGItem::get_without_prefix  )  [inline, static, inherited]
 

Returns the prefix that is used to define the without event for all PGItems.

The without event is the concatenation of this string followed by get_id().

Definition at line 370 of file pgItem.I.

References PGItem::get_id(), and INLINE.

const wstring & PGEntry::get_wtext  )  const [inline]
 

Returns the text currently displayed within the entry.

Definition at line 539 of file pgEntry.I.

Referenced by set_text().

bool PandaNode::has_attrib TypeHandle  type  )  const [inline, inherited]
 

Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

Definition at line 609 of file pandaNode.I.

References PandaNode::_cycler, INLINE, and RenderEffects::make_empty().

Referenced by NodePath::clear_material(), NodePath::get_hpr(), NodePath::set_hpr_scale(), and NodePath::set_sz().

bool PGEntry::has_cull_callback  )  const [virtual]
 

Should be overridden by derived classes to return true if cull_callback() has been defined.

Otherwise, returns false to indicate cull_callback() does not need to be called for this node during the cull traversal.

Reimplemented from PGItem.

Definition at line 146 of file pgEntry.cxx.

References _text_render_root.

bool PandaNode::has_effect TypeHandle  type  )  const [inline, inherited]
 

Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

Definition at line 686 of file pandaNode.I.

Referenced by NodePath::set_render_mode_wireframe().

bool PGItem::has_frame  )  const [inline, inherited]
 

Returns true if the item has a bounding rectangle; see set_frame().

Definition at line 121 of file pgItem.I.

References PGItem::_state, and INLINE.

Referenced by PGItem::set_frame().

bool Namable::has_name  )  const [inline, inherited]
 

Returns true if the Namable has a nonempty name set, false if the name is empty.

Definition at line 97 of file namable.I.

References Namable::get_name(), and INLINE.

Referenced by EggGroupUniquifier::EggGroupUniquifier(), Texture::read(), and Texture::Texture().

bool PandaNode::has_selective_visibility  )  const [virtual, inherited]
 

Should be overridden by derived classes to return true if this kind of node has some restrictions on the set of children that should be rendered.

Node with this property include LODNodes, SwitchNodes, and SequenceNodes.

If this function returns true, get_first_visible_child() and get_next_visible_child() will be called to walk through the list of children during cull, instead of iterating through the entire list. This method is called after cull_callback(), so cull_callback() may be responsible for the decisions as to which children are visible at the moment.

Reimplemented in SelectiveChildNode.

Definition at line 918 of file pandaNode.cxx.

References PandaNode::find_parent(), nassertr, and NULL.

Referenced by CullTraverser::get_bounds_inner_viz_state().

bool PandaNode::has_single_child_visibility  )  const [virtual, inherited]
 

Should be overridden by derived classes to return true if this kind of node has the special property that just one of its children is visible at any given time, and furthermore that the particular visible child can be determined without reference to any external information (such as a camera).

At present, only SequenceNodes and SwitchNodes fall into this category.

If this function returns true, get_visible_child() can be called to return the index of the currently-visible child.

Reimplemented in SequenceNode, and SwitchNode.

Definition at line 999 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::get_child(), PandaNode::get_child_sort(), PandaNode::get_num_children(), nassertv, PT, and PandaNode::remove_child().

bool PGItem::has_state_def int  state  )  const [inherited]
 

Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

Definition at line 774 of file pgItem.cxx.

References PGItem::_text_node, TextNode::A_left, and NULL.

void PGEntry::init_type void   )  [inline, static]
 

Reimplemented from PGItem.

Definition at line 193 of file pgEntry.h.

NodePath PGItem::instance_to_state_def int  state,
const NodePath path
[inherited]
 

Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

Definition at line 849 of file pgItem.cxx.

References PGItem::_state_defs, and BoundedObject::mark_bound_stale().

Referenced by PGButton::setup().

bool BoundedObject::is_bound_stale  )  const [inline, inherited]
 

Returns true if the bound is currently marked stale and will be recomputed the next time get_bound() is called.

This function is defined up at the top of this file, because several of the inline functions below reference it.

Definition at line 217 of file boundedObject.I.

References BoundedObject::_cycler, and INLINE.

Referenced by BoundedObject::~BoundedObject().

bool TypedObject::is_exact_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is the indicated type exactly.

Definition at line 101 of file typedObject.I.

Referenced by PT(), and CollisionNode::xform().

bool BoundedObject::is_final  )  const [inline, inherited]
 

Returns the current state of the "final" flag.

Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

Definition at line 280 of file boundedObject.I.

bool PandaNode::is_geom_node  )  const [virtual, inherited]
 

A simple downcast check.

Returns true if this kind of node happens to inherit from GeomNode, false otherwise.

This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

Reimplemented in GeomNode.

Definition at line 1624 of file pandaNode.cxx.

References PandaNode::detach(), NodePathComponent::get_node(), NodePathComponent::is_top_node(), nassertv, NULL, and NodePathComponent::set_next().

Referenced by CullTraverser::get_bounds_inner_viz_state(), NodePath::get_transparency(), PT(), and NodePath::set_transparency().

bool TypedObject::is_of_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is or derives from the indicated type.

Definition at line 86 of file typedObject.I.

Referenced by EggMaterialCollection::collapse_equivalent_materials(), EggTextureCollection::collapse_equivalent_textures(), DeferredNodeProperty::compose(), AnimBundleMaker::create_s_channel(), CharacterMaker::create_slider(), ProjectionScreen::cull_callback(), DataNode::define_output(), EggNode::determine_draw_order(), CharacterMaker::egg_to_index(), EggGroupUniquifier::EggGroupUniquifier(), EggPoolUniquifier::EggPoolUniquifier(), EggGroupNode::find_textures(), StaticTextFont::get_glyph(), EggMaterialCollection::insert_materials(), EggTextureCollection::insert_textures(), CharacterJoint::make_copy(), PT(), EggGroupNode::r_flatten_transforms(), EggGroupNode::r_transform_vertices(), EggGroupNode::recompute_polygon_normals(), CollisionLevelState::reserve(), PandaFramework::reset_frame_rate(), PandaFramework::set_texture(), EggGroupNode::steal_children(), and DataGraphTraverser::traverse().

void PGEntry::keystroke const MouseWatcherParameter param,
bool  background
[virtual]
 

This is a callback hook function, called whenever the user types a key.

Reimplemented from PGItem.

Definition at line 402 of file pgEntry.cxx.

References _num_lines.

void PandaNode::ls ostream &  out,
int  indent_level
const [inline, inherited]
 

Lists all the nodes at and below the current path hierarchically.

Definition at line 893 of file pandaNode.I.

Referenced by erase().

PandaNode * PGEntry::make_copy void   )  const [virtual]
 

Returns a newly-allocated Node that is a shallow copy of this one.

It will be a different Node pointer, but its internal data may or may not be shared with that of the original Node.

Reimplemented from PGItem.

Definition at line 125 of file pgEntry.cxx.

TypedWritable * PandaNode::make_from_bam const FactoryParams params  )  [static, protected, inherited]
 

This function is called by the BamReader's factory when a new object of type PandaNode is encountered in the Bam file.

It should create the PandaNode and extract its information from the file.

Reimplemented in AnimBundleNode, Character, CollisionNode, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LODNode, ModelNode, ModelRoot, PlaneNode, PointLight, SequenceNode, Spotlight, and SwitchNode.

Definition at line 2556 of file pandaNode.cxx.

bool BoundedObject::mark_bound_stale  )  [inline, inherited]
 

Marks the current bounding volume as stale, so that it will be recomputed later.

This may have a cascading effect up to the root of all graphs of which the node is a part. Returns true if the setting was changed, or false if it was already marked stale (or if it is a static bounding volume).

Definition at line 162 of file boundedObject.I.

References BoundedObject::_cycler, BoundedObject::F_bound_stale, and INLINE.

Referenced by CollisionSphere::CollisionSphere(), GeomNode::combine_with(), CollisionPlane::get_normal(), PGItem::instance_to_state_def(), CollisionPlane::make_copy(), PGItem::set_active(), CollisionSphere::set_center(), TextNode::set_coordinate_system(), PandaNode::set_effect(), CollisionNode::set_from_collide_mask(), GeomNode::set_geom_state(), CollisionRay::set_origin(), CollisionSegment::set_point_a(), CollisionSphere::test_intersection(), CollisionSegment::test_intersection(), CollisionRay::test_intersection(), and CollisionNode::xform().

void PandaNode::output ostream &  out  )  const [virtual, inherited]
 

Outputs the Namable.

This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

Reimplemented from Namable.

Reimplemented in CollisionNode, ButtonNode, HermiteCurve, RopeNode, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, PlaneNode, and MouseWatcher.

Definition at line 1575 of file pandaNode.cxx.

Referenced by PlaneNode::make_copy(), HermiteCurve::set_cv_name(), DriveInterface::set_mat(), and ButtonNode::~ButtonNode().

void PGEntry::overflow const MouseWatcherParameter param  )  [virtual]
 

This is a callback hook function, called whenever the entry is overflowed because the user attempts to type too many characters, exceeding either set_max_chars() or set_max_width().

Definition at line 544 of file pgEntry.cxx.

References TextNode::A_left.

void PandaNode::parents_changed  )  [protected, virtual, inherited]
 

Called after a scene graph update that either adds or remove parents from this node, this just provides a hook for derived PandaNode objects that need to update themselves based on the set of parents the node has.

Reimplemented in DataNode.

Definition at line 1820 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::CData::_paths, PipelineCyclerBase::get_num_stages(), PipelineCyclerBase::is_stage_unique(), PipelineCyclerBase::release_write_stage(), and PipelineCycler< CData >::write_stage().

void PGItem::play_sound const string &  event  )  [protected, inherited]
 

Plays the sound associated with the indicated event, if there is one.

Definition at line 1003 of file pgItem.cxx.

Referenced by PGItem::activate_region(), PGItem::enter(), PGItem::exit(), and PGItem::recompute_internal_bound().

bool PandaNode::preserve_name  )  const [virtual, inherited]
 

Returns true if the node's name has extrinsic meaning and must be preserved across a flatten operation, false otherwise.

Reimplemented in CollisionNode, and ModelNode.

Definition at line 635 of file pandaNode.cxx.

References TransformState::compose(), CPT, PandaNode::get_children(), and PandaNode::get_transform().

Referenced by SceneGraphReducer::do_flatten_siblings().

void PGEntry::press const MouseWatcherParameter param,
bool  background
[virtual]
 

This is a callback hook function, called whenever a mouse or keyboard entry is depressed while the mouse is within the region.

Reimplemented from PGItem.

Definition at line 213 of file pgEntry.cxx.

References _cursor_position, and _cursor_stale.

void PandaNode::propagate_stale_bound  )  [protected, virtual, inherited]
 

Called by BoundedObject::mark_bound_stale(), this should make sure that all bounding volumes that depend on this one are marked stale also.

Reimplemented from BoundedObject.

Definition at line 1690 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::NodePathComponent, and PT.

void PandaNode::r_copy_children const PandaNode from,
PandaNode::InstanceMap inst_map
[protected, virtual, inherited]
 

This is called by r_copy_subgraph(); the copy has already been made of this particular node (and this is the copy); this function's job is to copy all of the children from the original.

Note that it includes the parameter inst_map, which is a map type, and is not (and cannot be) exported from PANDA.DLL. Thus, any derivative of PandaNode that is not also a member of PANDA.DLL *cannot* access this map, and probably should not even override this function.

Reimplemented in Character.

Definition at line 1925 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::fix_path_lengths(), and PandaNode::get_generic_component().

PointerTo< PandaNode > PandaNode::r_copy_subgraph PandaNode::InstanceMap inst_map  )  const [protected, virtual, inherited]
 

This is the recursive implementation of copy_subgraph().

It returns a copy of the entire subgraph rooted at this node.

Note that it includes the parameter inst_map, which is a map type, and is not (and cannot be) exported from PANDA.DLL. Thus, any derivative of PandaNode that is not also a member of PANDA.DLL *cannot* access this map.

Definition at line 1884 of file pandaNode.cxx.

Referenced by PandaNode::steal_children().

BoundingVolume * PandaNode::recompute_bound  )  [protected, virtual, inherited]
 

Recomputes the dynamic bounding volume for this object.

The default behavior is the compute an empty bounding volume; this may be overridden to extend it to create a nonempty bounding volume. However, after calling this function, it is guaranteed that the _bound pointer will not be shared with any other stage of the pipeline, and this new pointer is returned.

Reimplemented from BoundedObject.

Reimplemented in CollisionNode.

Definition at line 1723 of file pandaNode.cxx.

BoundingVolume * PGItem::recompute_internal_bound  )  [protected, virtual, inherited]
 

Called when needed to recompute the node's _internal_bound object.

Nodes that contain anything of substance should redefine this to do the right thing.

Reimplemented from PandaNode.

Definition at line 302 of file pgItem.cxx.

References PGItem::get_enter_event(), PGItem::play_sound(), and throw_event().

int ReferenceCount::ref  )  const [inline, inherited]
 

Explicitly increments the reference count.

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 225 of file referenceCount.I.

Referenced by ClientDevice::ClientDevice(), EggGroupNode::find_textures(), EggGroupNode::r_apply_texmats(), EggGroupNode::r_flatten_transforms(), and EggGroupNode::reverse_vertex_ordering().

void PandaNode::register_with_read_factory void   )  [static, inherited]
 

Tells the BamReader how to create objects of type PandaNode.

Reimplemented in AnimBundleNode, Character, CollisionNode, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LODNode, ModelNode, ModelRoot, PlaneNode, PointLight, SequenceNode, Spotlight, and SwitchNode.

Definition at line 2519 of file pandaNode.cxx.

void PGItem::release const MouseWatcherParameter param,
bool  background
[virtual, inherited]
 

This is a callback hook function, called whenever a mouse or keyboard button previously depressed with press() is released.

Reimplemented in PGButton.

Definition at line 522 of file pgItem.cxx.

References PGItem::_focus_item, PGItem::get_active(), and NULL.

Referenced by PGButton::exit(), and PGItem::focus_in().

void PandaNode::remove_all_children  )  [inherited]
 

Removes all the children from the node at once, including stashed children.

Definition at line 1465 of file pandaNode.cxx.

References PandaNode::get_type(), PandaNode::make_copy(), nassertr, NULL, and PT.

bool PandaNode::remove_child PandaNode child_node  )  [inherited]
 

Removes the indicated child from the node.

Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

Definition at line 1157 of file pandaNode.cxx.

void PandaNode::remove_child int  n  )  [inherited]
 

Removes the nth child from the node.

Definition at line 1121 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::children_changed(), BoundedObject::force_bound_stale(), nassertv, PT, and PandaNode::sever_connection().

Referenced by PandaNode::add_child(), PandaNode::cull_callback(), and PandaNode::has_single_child_visibility().

void PandaNode::remove_stashed int  n  )  [inherited]
 

Removes the nth stashed child from the node.

Definition at line 1433 of file pandaNode.cxx.

Referenced by PandaNode::copy_subgraph(), and PandaNode::cull_callback().

bool PandaNode::replace_child PandaNode orig_child,
PandaNode new_child
[inherited]
 

Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead.

Returns true if the replacement is made, or false if the node is not a child.

Definition at line 1203 of file pandaNode.cxx.

References PandaNode::add_child(), PandaNode::get_child(), and PandaNode::get_child_sort().

Referenced by SceneGraphReducer::consider_siblings().

bool PandaNode::safe_to_combine  )  const [virtual, inherited]
 

Returns true if it is generally safe to combine this particular kind of PandaNode with other kinds of PandaNodes, adding children or whatever.

For instance, an LODNode should not be combined with any other PandaNode, because its set of children is meaningful.

Reimplemented in LODNode, ModelNode, SequenceNode, and SwitchNode.

Definition at line 601 of file pandaNode.cxx.

Referenced by SortByState::operator()().

bool PandaNode::safe_to_flatten void   )  const [virtual, inherited]
 

Returns true if it is generally safe to flatten out this particular kind of PandaNode by duplicating instances, false otherwise (for instance, a Camera cannot be safely flattened, because the Camera pointer itself is meaningful).

Reimplemented in AnimBundleNode, PartBundleNode, ParametricCurve, Camera, ModelNode, ForceNode, and PhysicalNode.

Definition at line 532 of file pandaNode.cxx.

bool PandaNode::safe_to_flatten_below  )  const [virtual, inherited]
 

Returns true if a flatten operation may safely continue past this node, or false if it should drop all attributes here and stop.

Definition at line 618 of file pandaNode.cxx.

References NULL.

bool PandaNode::safe_to_modify_transform  )  const [virtual, inherited]
 

Returns true if it is safe to automatically adjust the transform on this kind of node.

Usually, this is only a bad idea if the user expects to find a particular transform on the node.

ModelNodes with the preserve_transform flag set are presently the only kinds of nodes that should not have their transform even adjusted.

Reimplemented in ModelNode.

Definition at line 578 of file pandaNode.cxx.

bool PandaNode::safe_to_transform  )  const [virtual, inherited]
 

Returns true if it is generally safe to transform this particular kind of PandaNode by calling the xform() method, false otherwise.

For instance, it's usually a bad idea to attempt to xform a Character.

Reimplemented in Character, ParametricCurve, RopeNode, Camera, and ModelNode.

Definition at line 551 of file pandaNode.cxx.

References AccumulatedAttribs::_transform, SceneGraphReducer::TT_transform, and PandaNode::xform().

void PGEntry::set_active bool  active  )  [virtual]
 

Toggles the active/inactive state of the entry.

In the case of a PGEntry, this also changes its visual appearance.

Reimplemented from PGItem.

Definition at line 758 of file pgEntry.cxx.

void PandaNode::set_attrib const RenderAttrib attrib,
int  override = 0
[inline, inherited]
 

Adds the indicated render attribute to the scene graph on this node.

This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

Definition at line 565 of file pandaNode.I.

References PandaNode::_cycler, INLINE, and RenderState::make_empty().

Referenced by NodePath::clear_texture(), NodePath::get_mat(), NodePath::set_bin(), NodePath::set_color_off(), NodePath::set_pos_hpr(), NodePath::set_render_mode_filled(), and NodePath::set_scale().

void PGItem::set_background_focus bool  focus  )  [inherited]
 

Sets the background_focus flag for this item.

When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

Definition at line 719 of file pgItem.cxx.

void PGEntry::set_blink_rate float  blink_rate  )  [inline]
 

Sets the number of times per second the cursor will blink while the entry has keyboard focus.

If this is 0, the cursor does not blink, but is held steady.

Definition at line 243 of file pgEntry.I.

References _obscure_mode, _text_geom_stale, and INLINE.

void BoundedObject::set_bound BoundedObject::BoundingVolumeType  type  )  [inline, inherited]
 

Sets the type of the bounding volume that will be dynamically computed for this particular node.

Presently, this should only be BVT_dynamic_sphere.

Definition at line 115 of file boundedObject.I.

void PandaNode::set_bound const BoundingVolume volume  )  [inline, inherited]
 

Resets the internal bounding volume so that it is the indicated volume.

The external bounding volume as returned by get_bound() (which includes all of the node's children) will be adjusted to include this internal volume.

Reimplemented from BoundedObject.

Definition at line 995 of file pandaNode.I.

void PandaNode::set_bound BoundingVolumeType  type  )  [inline, inherited]
 

Sets the type of the external bounding volume that is placed around this node and all of its children.

Definition at line 972 of file pandaNode.I.

BoundingVolume * BoundedObject::set_bound_ptr BoundingVolume bound  )  [inline, protected, inherited]
 

Changes the _bound pointer.

To be used only internally by derived classes, usually in recompute_bound(). The return value is the same pointer passed in, as a convenience (it will now be reference counted).

Definition at line 340 of file boundedObject.I.

void PGEntry::set_cursor_keys_active bool  flag  )  [inline]
 

Sets whether the arrow keys (and home/end) control movement of the cursor.

If true, they are active; if false, they are ignored.

Definition at line 308 of file pgEntry.I.

References INLINE.

void PGEntry::set_cursor_position int  position  )  [inline]
 

Sets the current position of the cursor.

This is the position within the text at which the next letter typed by the user will be inserted; normally it is the same as the length of the text.

Definition at line 80 of file pgEntry.I.

References _max_chars, and INLINE.

void PandaNode::set_draw_mask DrawMask  mask  )  [inline, inherited]
 

Sets the hide/show bits of this particular node.

During the cull traversal, a node is not visited if none of its draw mask bits intersect with the camera's draw mask bits. These masks can be used to selectively hide and show different parts of the scene graph from different cameras that are otherwise viewing the same scene. See Camera::set_camera_mask().

Definition at line 922 of file pandaNode.I.

Referenced by CollisionNode::CollisionNode(), NodePath::get_z(), NodePath::heads_up(), EggLoader::make_node(), and NodePath::set_pos().

void PandaNode::set_effect const RenderEffect effect  )  [inline, inherited]
 

Adds the indicated render effect to the scene graph on this node.

If there was already an effect of the same type, it is replaced.

Definition at line 648 of file pandaNode.I.

References PandaNode::_cycler, INLINE, TransformState::make_identity(), BoundedObject::mark_bound_stale(), and PandaNode::transform_changed().

Referenced by NodePath::get_fog(), and NodePath::has_fog().

void PandaNode::set_effects const RenderEffects effects  )  [inline, inherited]
 

Sets the complete RenderEffects that will be applied this node.

This completely replaces whatever has been set on this node via repeated calls to set_attrib().

Definition at line 789 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

void BoundedObject::set_final bool  flag  )  [inline, inherited]
 

Sets the "final" flag on this BoundedObject.

If this is true, than no bounding volume need be tested below it; a positive intersection with this bounding volume is deemed to be a positive intersection with all geometry inside.

This is useful to quickly force a larger bounding volume around a node when the GeomNodes themselves are inaccurate for some reason, without forcing a recompute of every nested bounding volume. It's also helpful when the bounding volume is tricked by some special properties, like billboards, that may move geometry out of its bounding volume otherwise.

Definition at line 256 of file boundedObject.I.

void PGEntry::set_focus bool  focus  )  [virtual]
 

Toggles the focus state of the entry.

In the case of a PGEntry, this also changes its visual appearance.

Reimplemented from PGItem.

Definition at line 774 of file pgEntry.cxx.

References _last_text_def, and _ww_lines.

void PGItem::set_frame const LVecBase4f &  frame  )  [inline, inherited]
 

Sets the bounding rectangle of the item, in local coordinates.

This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

Definition at line 86 of file pgItem.I.

References PGItem::_has_frame.

void PGItem::set_frame float  left,
float  right,
float  bottom,
float  top
[inline, inherited]
 

Sets the bounding rectangle of the item, in local coordinates.

This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

Definition at line 65 of file pgItem.I.

References PGItem::_frame, PGItem::has_frame(), INLINE, and nassertr.

Referenced by PGItem::get_region(), and PGButton::release().

void PGItem::set_frame_style int  state,
const PGFrameStyle style
[inherited]
 

Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

Definition at line 889 of file pgItem.cxx.

void PGItem::set_id const string &  id  )  [inline, inherited]
 

Set the unique ID assigned to this PGItem.

It is the user's responsibility to ensure that this ID is unique.

Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

Definition at line 302 of file pgItem.I.

References INLINE.

void PGEntry::set_max_chars int  max_chars  )  [inline]
 

Sets the maximum number of characters that may be typed into the entry.

This is a limit on the number of characters, as opposed to the width of the entry; see also set_max_width().

If this is 0, there is no limit.

Definition at line 120 of file pgEntry.I.

References _max_width, and _text_geom_stale.

Referenced by accept().

void PGEntry::set_max_width float  max_width  )  [inline]
 

Sets the maximum width of all characters that may be typed into the entry.

This is a limit on the width of the formatted text, not a fixed limit on the number of characters; also set_max_chars().

If this is 0, there is no limit.

If _num_lines is more than 1, rather than being a fixed width on the whole entry, this becomes instead the wordwrap width (and the width limit on the entry is essentially _max_width * _num_lines).

Definition at line 170 of file pgEntry.I.

References _blink_rate, and INLINE.

Referenced by accept().

void Namable::set_name const string &  name  )  [inline, inherited]
 

Definition at line 69 of file namable.I.

References Namable::_name.

Referenced by BuilderBucket::BuilderBucket(), SceneGraphReducer::do_flatten_siblings(), Texture::read(), PandaNode::reparent(), and Texture::Texture().

void PGEntry::set_num_lines int  num_lines  )  [inline]
 

Sets the number of lines of text the PGEntry will use.

This only has meaning if _max_width is not 0; _max_width indicates the wordwrap width of each line.

Definition at line 205 of file pgEntry.I.

References _cursor_def, _text_render_root, NodePath::attach_new_node(), INLINE, and NodePath::remove_node().

Referenced by accept().

void PGEntry::set_obscure_mode bool  flag  )  [inline]
 

Specifies whether obscure mode should be enabled.

In obscure mode, a string of asterisks is displayed instead of the literal text, e.g. for entering passwords.

In obscure mode, the width of the text is computed based on the width of the string of asterisks, not on the width of the actual text. This has implications on the maximum length of text that may be entered if max_width is in effect.

Definition at line 356 of file pgEntry.I.

References PGItem::get_id(), and INLINE.

void PandaNode::set_state const RenderState state  )  [inline, inherited]
 

Sets the complete RenderState that will be applied to all nodes at this level and below.

(The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

Definition at line 727 of file pandaNode.I.

Referenced by NodePath::get_key(), and GeomParticleRenderer::kill_particle().

void PGItem::set_state int  state  )  [inline, inherited]
 

Sets the "state" of this particular PGItem.

The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

Definition at line 160 of file pgItem.I.

References PGItem::_region, and INLINE.

Referenced by PGButton::enter(), PGButton::exit(), and PGButton::make_copy().

void PGItem::set_suppress_flags int  suppress_flags  )  [inline, inherited]
 

This is just an interface to set the suppress flags on the underlying MouseWatcherRegion.

See MouseWatcherRegion::set_suppress_flags().

Definition at line 237 of file pgItem.I.

void PGEntry::set_text const string &  text  )  [inline]
 

Changes the text currently displayed within the entry.

This uses the Unicode encoding currently specified for the "focus" TextNode; therefore, the TextNode must exist before calling set_text().

Definition at line 38 of file pgEntry.I.

References TextEncoder::encode_wtext(), get_text_def(), get_wtext(), INLINE, nassertr, NULL, and S_focus.

Referenced by accept().

void PGEntry::set_text_def int  state,
TextNode node
 

Changes the TextNode that will be used to render the text within the entry when the entry is in the indicated state.

The default if nothing is specified is the same TextNode returned by PGItem::get_text_node().

It is the responsibility of the user to ensure that this TextNode has been frozen by a call to freeze(). Passing in an unfrozen TextNode will result in needless work.

Definition at line 710 of file pgEntry.cxx.

References _text_defs, and NULL.

void PGItem::set_text_node TextNode node  )  [inline, static, inherited]
 

Changes the TextNode object that will be used by all PGItems to generate default labels given a string.

This can be loaded with the default font, etc.

Definition at line 651 of file pgItem.I.

void PandaNode::set_transform const TransformState transform  )  [inline, inherited]
 

Sets the transform that will be applied to this node and below.

This defines a new coordinate space at this point in the scene graph and below.

Definition at line 837 of file pandaNode.I.

Referenced by NodePath::get_child().

void PandaNode::set_velocity const LVector3f &  vel  )  [virtual, inherited]
 

Indicates the instantaneous velocity of this node.

This function is meaningless to most kinds of nodes; it is implemented only for CollisionNodes and is intended to inform the collision system of velocity.

It is defined at this level only as an abstract interface to allow setting the velocity of a collision node without having to link with, or know anything about, the collision system.

See CollisionNode::set_velocity().

Reimplemented in CollisionNode.

Definition at line 1674 of file pandaNode.cxx.

void PGEntry::set_wtext const wstring wtext  )  [inline]
 

Changes the text currently displayed within the entry.

Definition at line 521 of file pgEntry.I.

void PGEntry::setup float  width,
int  num_lines
 

Sets up the entry for normal use.

The width is the maximum width of characters that will be typed, and num_lines is the integer number of lines of text of the entry. Both of these together determine the size of the entry, based on the TextNode in effect.

Definition at line 604 of file pgEntry.cxx.

void PGEntry::show_hide_cursor bool  visible  )  [private]
 

Makes the cursor visible or invisible, e.g.

during a blink cycle.

Definition at line 972 of file pgEntry.cxx.

void PGEntry::slot_text_def int  state  )  [private]
 

Ensures there is a slot in the array for the given text definition.

Definition at line 824 of file pgEntry.cxx.

References _cursor_def, and _cursor_stale.

void PandaNode::stash_child int  child_index  )  [inherited]
 

Stashes the indicated child node.

This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().

Definition at line 1292 of file pandaNode.cxx.

References NULL.

bool PandaNode::stash_child PandaNode child_node  )  [inline, inherited]
 

Stashes the indicated child node.

This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().

This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).

Definition at line 446 of file pandaNode.I.

Referenced by PandaNode::get_parent().

void PandaNode::steal_children PandaNode other  )  [inherited]
 

Moves all the children from the other node onto this node.

Definition at line 1504 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::add_child(), PT, and PandaNode::r_copy_subgraph().

void ReferenceCount::test_ref_count_integrity  )  const [inline, inherited]
 

Does some easy checks to make sure that the reference count isn't completely bogus.

Definition at line 328 of file referenceCount.I.

References INLINE.

Referenced by EggNode::determine_bin(), and ReferenceCount::~ReferenceCount().

void PandaNode::transform_changed  )  [protected, virtual, inherited]
 

Called after the node's transform has been changed for any reason, this just provides a hook so derived classes can do something special in this case.

Reimplemented in ActorNode.

Definition at line 1856 of file pandaNode.cxx.

References PandaNode::_cycler, PandaNode::get_num_parents(), PandaNode::get_top_component(), NULL, and PT.

Referenced by PandaNode::set_effect().

void PGEntry::type const MouseWatcherParameter param  )  [virtual]
 

This is a callback hook function, called whenever the user extends the text by typing.

Definition at line 562 of file pgEntry.cxx.

References TextNode::A_center, TextNode::A_right, and width.

int ReferenceCount::unref  )  const [inline, inherited]
 

Explicitly decrements the reference count.

Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 293 of file referenceCount.I.

References INLINE.

Referenced by RenderState::determine_bin_index(), and RenderEffects::determine_show_bounds().

void PandaNode::unstash_child int  stashed_index  )  [inherited]
 

Returns the indicated stashed node to normal child status.

This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.

Definition at line 1336 of file pandaNode.cxx.

bool PandaNode::unstash_child PandaNode child_node  )  [inline, inherited]
 

Returns the indicated stashed node to normal child status.

This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.

This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).

Definition at line 486 of file pandaNode.I.

References PandaNode::_cycler, and INLINE.

void PGEntry::update_cursor  )  [private]
 

Moves the cursor to its correct position.

Definition at line 918 of file pgEntry.cxx.

void PGEntry::update_state  )  [private]
 

Determines what the correct state for the PGEntry should be.

Definition at line 994 of file pgEntry.cxx.

void PGEntry::update_text  )  [private]
 

Causes the PGEntry to recompute its text, if necessary.

Definition at line 841 of file pgEntry.cxx.

Referenced by get_display_wtext().

void PGItem::within const MouseWatcherParameter param  )  [virtual, inherited]
 

This is a callback hook function, called whenever the mouse moves within the boundaries of the region, even if it is also within the boundaries of a nested region.

This is different from "enter", which is only called whenever the mouse is within only that region.

Definition at line 426 of file pgItem.cxx.

void PGItem::without const MouseWatcherParameter param  )  [virtual, inherited]
 

This is a callback hook function, called whenever the mouse moves completely outside the boundaries of the region.

See within().

Definition at line 446 of file pgItem.cxx.

References PGItem::_background_focus, PGItem::get_focus(), and PGItem::press().

Referenced by PGMouseWatcherRegion::exit().

void PandaNode::write ostream &  out,
int  indent_level
const [virtual, inherited]
 

Reimplemented in AnalogNode, ButtonNode, ClassicNurbsCurve, NurbsPPCurve, RopeNode, AmbientLight, DirectionalLight, LensNode, LightLensNode, LightNode, PlaneNode, PointLight, Spotlight, TextNode, ButtonThrower, and MouseWatcher.

Definition at line 1588 of file pandaNode.cxx.

Referenced by LightNode::as_light(), GeomNode::calc_tight_bounds(), and AnalogNode::~AnalogNode().

void PandaNode::write_datagram BamWriter manager,
Datagram dg
[virtual, inherited]
 

Writes the contents of this object to the datagram for shipping out to a Bam file.

Reimplemented from TypedWritable.

Reimplemented in AnimBundleNode, PartBundleNode, Character, CollisionNode, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, ParametricCurve, PiecewiseCurve, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, ModelNode, ModelRoot, PlaneNode, PointLight, SequenceNode, Spotlight, and SwitchNode.

Definition at line 2534 of file pandaNode.cxx.

Referenced by SwitchNode::cull_callback(), SequenceNode::cull_callback(), PlaneNode::output(), LightNode::output(), and PartBundleNode::safe_to_flatten().

void PGItem::xform const LMatrix4f &  mat  )  [protected, virtual, inherited]
 

Transforms the contents of this node by the indicated matrix, if it means anything to do so.

For most kinds of nodes, this does nothing.

Reimplemented from PandaNode.

Definition at line 135 of file pgItem.cxx.


Friends And Related Function Documentation

friend class PandaNode::Children [friend, inherited]
 

Reimplemented in GeomNode.

Definition at line 392 of file pandaNode.h.


Member Data Documentation

double PGEntry::_blink_rate [private]
 

Definition at line 184 of file pgEntry.h.

Referenced by PGEntry(), and set_max_width().

double PGEntry::_blink_start [private]
 

Definition at line 183 of file pgEntry.h.

Referenced by get_text(), and PGEntry().

NodePath PGEntry::_current_text [private]
 

Definition at line 163 of file pgEntry.h.

NodePath PGEntry::_cursor_def [private]
 

Definition at line 181 of file pgEntry.h.

Referenced by get_max_width(), PGEntry(), set_num_lines(), and slot_text_def().

bool PGEntry::_cursor_keys_active [private]
 

Definition at line 186 of file pgEntry.h.

Referenced by get_num_lines(), and PGEntry().

int PGEntry::_cursor_position [private]
 

Definition at line 147 of file pgEntry.h.

Referenced by accept(), cull_callback(), get_display_wtext(), get_text(), and press().

bool PGEntry::_cursor_stale [private]
 

Definition at line 148 of file pgEntry.h.

Referenced by cull_callback(), get_display_wtext(), get_text(), PGEntry(), press(), and slot_text_def().

bool PGEntry::_cursor_visible [private]
 

Definition at line 149 of file pgEntry.h.

Referenced by PGEntry().

BoundedObject PandaNode::_internal_bound [protected, inherited]
 

Definition at line 213 of file pandaNode.h.

Referenced by PandaNode::clear_state().

TextNode* PGEntry::_last_text_def [private]
 

Definition at line 164 of file pgEntry.h.

Referenced by get_display_wtext(), get_text_def(), PGEntry(), and set_focus().

int PGEntry::_max_chars [private]
 

Definition at line 151 of file pgEntry.h.

Referenced by get_cursor_position(), and set_cursor_position().

float PGEntry::_max_width [private]
 

Definition at line 152 of file pgEntry.h.

Referenced by get_text_def(), PGEntry(), and set_max_chars().

int PGEntry::_num_lines [private]
 

Definition at line 153 of file pgEntry.h.

Referenced by get_max_chars(), get_text_def(), keystroke(), and PGEntry().

bool PGEntry::_obscure_mode [private]
 

Definition at line 187 of file pgEntry.h.

Referenced by cull_callback(), get_blink_rate(), PGEntry(), and set_blink_rate().

wstring PGEntry::_obscured_wtext [private]
 

Definition at line 146 of file pgEntry.h.

Referenced by cull_callback().

TextDefs PGEntry::_text_defs [private]
 

Definition at line 156 of file pgEntry.h.

Referenced by set_text_def().

bool PGEntry::_text_geom_stale [private]
 

Definition at line 165 of file pgEntry.h.

Referenced by cull_callback(), get_max_chars(), PGEntry(), set_blink_rate(), and set_max_chars().

NodePath PGEntry::_text_render_root [private]
 

Definition at line 159 of file pgEntry.h.

Referenced by has_cull_callback(), PGEntry(), and set_num_lines().

TypeHandle PGEntry::_type_handle [static, private]
 

Reimplemented from PGItem.

Definition at line 36 of file pgEntry.cxx.

wstring PGEntry::_wtext [private]
 

Definition at line 145 of file pgEntry.h.

Referenced by cull_callback(), and get_display_wtext().

WWLines PGEntry::_ww_lines [private]
 

Definition at line 176 of file pgEntry.h.

Referenced by get_display_wtext(), get_text_def(), and set_focus().

TypedWritable *const TypedWritable::Null = (TypedWritable*)0L [static, inherited]
 

Definition at line 25 of file typedWritable.cxx.

Referenced by Child::complete_pointers(), Parent::complete_pointers(), Person::complete_pointers(), LoaderFileTypeBam::get_extension(), PartGroup::pick_channel_index(), BamReader::read_pointer(), and AnimGroup::write_datagram().


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:53:24 2003 for Panda by doxygen1.3