Panda3D
|
Reads the mouse and/or keyboard data sent from a GraphicsWindow, and transmits it down the data graph. More...
Public Member Functions | |
__init__ (GraphicsWindow window, int device, str name) | |
__init__ (const MouseAndKeyboard) | |
setSource (GraphicsWindow window, int device) | |
Redirects the class to get the data from the mouse and keyboard associated with a different window and/or device number. More... | |
![]() | |
__init__ (str name) | |
writeConnections (Ostream out) | |
Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s). More... | |
writeInputs (Ostream out) | |
Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive. More... | |
writeOutputs (Ostream out) | |
Writes to the indicated ostream a list of all the outputs this DataNode might generate. More... | |
![]() | |
PandaNode | __copy__ () |
object | __deepcopy__ (object memo) |
__init__ (str name) | |
int | __traverse__ (Visitproc visit, void arg) |
addChild (PandaNode child_node, int sort, Thread current_thread) | |
Adds a new child to the node. More... | |
addStashed (PandaNode child_node, int sort, Thread current_thread) | |
Adds a new child to the node, directly as a stashed child. More... | |
adjustDrawMask (DrawMask show_mask, DrawMask hide_mask, DrawMask clear_mask) | |
Adjusts the hide/show bits of this particular node. More... | |
Light | asLight () |
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. More... | |
clearAttrib (TypeHandle type) | |
Removes the render attribute of the given type from this node. More... | |
clearAttrib (int slot) | |
Removes the render attribute of the given type from this node. More... | |
clearBounds () | |
Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node. More... | |
clearEffect (TypeHandle type) | |
Removes the render effect of the given type from this node. More... | |
clearEffects (Thread current_thread) | |
Resets this node to have no render effects. More... | |
clearPythonTag (object key) | |
clearState (Thread current_thread) | |
Resets this node to leave the render state alone. More... | |
clearTag (str key, Thread current_thread) | |
Removes the value defined for this key on this particular node. More... | |
clearTransform (Thread current_thread) | |
Resets the transform on this node to the identity transform. More... | |
clearUnexpectedChange (unsigned int flags) | |
Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. More... | |
PandaNode | combineWith (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. More... | |
int | compareTags (const PandaNode other) |
Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. More... | |
copyAllProperties (PandaNode other) | |
Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. More... | |
copyChildren (PandaNode other, Thread current_thread) | |
Makes another instance of all the children of the other node, copying them to this node. More... | |
PandaNode | copySubgraph (Thread current_thread) |
Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. More... | |
copyTags (PandaNode other) | |
Copies all of the tags stored on the other node onto this node. More... | |
int | countNumDescendants () |
Returns the number of nodes at and below this level. More... | |
int | findChild (PandaNode node, Thread current_thread) |
Returns the index of the indicated child node, if it is a child, or -1 if it is not. More... | |
int | findParent (PandaNode node, Thread current_thread) |
Returns the index of the indicated parent node, if it is a parent, or -1 if it is not. More... | |
int | findStashed (PandaNode node, Thread current_thread) |
Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not. More... | |
const RenderAttrib | getAttrib (TypeHandle type) |
Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const RenderAttrib | getAttrib (int slot) |
Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const BoundingVolume | getBounds (Thread current_thread) |
Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes. More... | |
const BoundingVolume | getBounds (UpdateSeq seq, Thread current_thread) |
This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. More... | |
BoundingVolume::BoundsType | getBoundsType () |
Returns the bounding volume type set with set_bounds_type(). More... | |
PandaNode | getChild (int n, Thread current_thread) |
Returns the nth child node of this node. More... | |
list | getChildren () |
int | getChildSort (int n, Thread current_thread) |
Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). More... | |
DrawMask | getDrawControlMask () |
Returns the set of bits in draw_show_mask that are considered meaningful. More... | |
DrawMask | getDrawShowMask () |
Returns the hide/show bits of this particular node. More... | |
const RenderEffect | getEffect (TypeHandle type) |
Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const RenderEffects | getEffects (Thread current_thread) |
Returns the complete RenderEffects that will be applied to this node. More... | |
int | getFancyBits (Thread current_thread) |
Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. More... | |
const BoundingVolume | getInternalBounds (Thread current_thread) |
Returns the node's internal bounding volume. More... | |
int | getInternalVertices (Thread current_thread) |
Returns the total number of vertices that will be rendered by this particular node alone, not accounting for its children. More... | |
CollideMask | getIntoCollideMask () |
Returns the "into" collide mask for this node. More... | |
CollideMask | getLegalCollideMask () |
Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. More... | |
int | getNestedVertices (Thread current_thread) |
Returns the total number of vertices that will be rendered by this node and all of its descendents. More... | |
CollideMask | getNetCollideMask (Thread current_thread) |
Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below. More... | |
DrawMask | getNetDrawControlMask () |
Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited. More... | |
DrawMask | getNetDrawShowMask () |
Returns the union of all draw_show_mask values–of renderable nodes only– at this level and below. More... | |
int | getNumChildren (Thread current_thread) |
Returns the number of child nodes this node has. More... | |
int | getNumParents (Thread current_thread) |
Returns the number of parent nodes this node has. More... | |
int | getNumStashed (Thread current_thread) |
Returns the number of stashed nodes this node has. More... | |
const RenderAttrib | getOffClipPlanes (Thread current_thread) |
Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned off at this level and below. More... | |
PandaNode | getParent (int n, Thread current_thread) |
Returns the nth parent node of this node. More... | |
list | getParents () |
const TransformState | getPrevTransform (Thread current_thread) |
Returns the transform that has been set as this node's "previous" position. More... | |
object | getPythonTag (object key) |
object | getPythonTagKeys () |
object | getPythonTags () |
PandaNode::Stashed | getStashed (Thread current_thread) |
Returns an object that can be used to walk through the list of children of the node. More... | |
PandaNode | getStashed (int n, Thread current_thread) |
Returns the nth stashed child of this node. More... | |
list | getStashed () |
int | getStashedSort (int n, Thread current_thread) |
Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). More... | |
const RenderState | getState (Thread current_thread) |
Returns the complete RenderState that will be applied to all nodes at this level and below, as set on this node. More... | |
str | getTag (str key, Thread current_thread) |
Retrieves the user-defined value that was previously set on this node for the particular key, if any. More... | |
object | getTagKeys () |
const TransformState | getTransform (Thread current_thread) |
Returns the transform that has been set on this particular node. More... | |
unsigned int | getUnexpectedChange (unsigned int flags) |
Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More... | |
bool | hasAttrib (TypeHandle type) |
Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. More... | |
bool | hasAttrib (int slot) |
Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. More... | |
bool | hasDirtyPrevTransform () |
Returns true if this node has the _dirty_prev_transform flag set, which indicates its _prev_transform is different from its _transform value (in pipeline stage 0). More... | |
bool | hasEffect (TypeHandle type) |
Returns true if there is a render effect of the indicated type defined on this node, or false if there is not. More... | |
bool | hasPythonTag (object key) |
bool | hasTag (str key, Thread current_thread) |
Returns true if a value has been defined on this node for the particular key (even if that value is the empty string), or false if no value has been set. More... | |
bool | hasTags () |
Returns true if the node has any tags (or any Python tags) at all, false if it has none. More... | |
bool | isAmbientLight () |
Returns true if this is an AmbientLight, false if it is not a light, or it is some other kind of light. More... | |
bool | isBoundsStale () |
Returns true if the bounding volume of this node is stale and will be implicitly recomputed at the next call to get_bounds(), or false if it is fresh and need not be recomputed. More... | |
bool | isCollisionNode () |
A simple downcast check. More... | |
bool | isFinal (Thread current_thread) |
Returns the current state of the "final" flag. More... | |
bool | isGeomNode () |
A simple downcast check. More... | |
bool | isLodNode () |
A simple downcast check. More... | |
bool | isOverallHidden () |
Returns true if the node has been hidden to all cameras by clearing its overall bit. More... | |
bool | isSceneRoot () |
Returns true if this particular node is known to be the render root of some active DisplayRegion associated with the global GraphicsEngine, false otherwise. More... | |
bool | isUnderSceneRoot () |
Returns true if this particular node is in a live scene graph: that is, it is a child or descendent of a node that is itself a scene root. More... | |
listTags (Ostream out, str separator) | |
Writes a list of all the tag keys assigned to the node to the indicated stream. More... | |
ls (Ostream out, int indent_level) | |
Lists all the nodes at and below the current path hierarchically. More... | |
PandaNode | makeCopy () |
Returns a newly-allocated PandaNode that is a shallow copy of this one. More... | |
markBoundsStale (Thread current_thread) | |
Indicates that the bounding volume, or something that influences the bounding volume (or any of the other things stored in CData, like net_collide_mask), may have changed for this node, and that it must be recomputed. More... | |
markInternalBoundsStale (Thread current_thread) | |
Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested. More... | |
output (Ostream out) | |
prepareScene (GraphicsStateGuardianBase gsg, const RenderState node_state) | |
Walks through the scene graph beginning at this node, and does whatever initialization is required to render the scene properly with the indicated GSG. More... | |
removeAllChildren (Thread current_thread) | |
Removes all the children from the node at once, including stashed children. More... | |
bool | removeChild (PandaNode child_node, Thread current_thread) |
Removes the indicated child from the node. More... | |
removeChild (int child_index, Thread current_thread) | |
Removes the nth child from the node. More... | |
removeStashed (int child_index, Thread current_thread) | |
Removes the nth stashed child from the node. More... | |
bool | replaceChild (PandaNode orig_child, PandaNode new_child, Thread current_thread) |
Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. More... | |
replaceNode (PandaNode other) | |
Inserts this node into the scene graph in place of the other one, and removes the other node. More... | |
resetPrevTransform (Thread current_thread) | |
Resets the transform that represents this node's "previous" position to the same as the current transform. More... | |
setAttrib (const RenderAttrib attrib, int override) | |
Adds the indicated render attribute to the scene graph on this node. More... | |
setBound (const BoundingVolume volume) | |
Deprecated. More... | |
setBounds (const BoundingVolume volume) | |
Resets the bounding volume so that it is the indicated volume. More... | |
setBoundsType (BoundingVolume::BoundsType bounds_type) | |
Specifies the desired type of bounding volume that will be created for this node. More... | |
setEffect (const RenderEffect effect) | |
Adds the indicated render effect to the scene graph on this node. More... | |
setEffects (const RenderEffects effects, Thread current_thread) | |
Sets the complete RenderEffects that will be applied this node. More... | |
setFinal (bool flag) | |
Sets the "final" flag on this PandaNode. More... | |
setIntoCollideMask (CollideMask mask) | |
Sets the "into" CollideMask. More... | |
setOverallHidden (bool overall_hidden) | |
Sets or clears the hidden flag. More... | |
setPrevTransform (const TransformState transform, Thread current_thread) | |
Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations. More... | |
setPythonTag (object key, object value) | |
setState (const RenderState state, Thread current_thread) | |
Sets the complete RenderState that will be applied to all nodes at this level and below. More... | |
setTag (str key, str value, Thread current_thread) | |
Associates a user-defined value with a user-defined key which is stored on the node. More... | |
setTransform (const TransformState transform, Thread current_thread) | |
Sets the transform that will be applied to this node and below. More... | |
setUnexpectedChange (unsigned int flags) | |
Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. More... | |
bool | stashChild (PandaNode child_node, Thread current_thread) |
Stashes the indicated child node. More... | |
stashChild (int child_index, Thread current_thread) | |
Stashes the indicated child node. More... | |
stealChildren (PandaNode other, Thread current_thread) | |
Moves all the children from the other node onto this node. More... | |
bool | unstashChild (PandaNode child_node, Thread current_thread) |
Returns the indicated stashed node to normal child status. More... | |
unstashChild (int stashed_index, Thread current_thread) | |
Returns the indicated stashed node to normal child status. More... | |
write (Ostream out, int indent_level) | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. More... | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
Explicitly increments the reference count. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
bool | unref () |
Explicitly decrements the reference count. More... | |
![]() | |
__init__ (const Namable) | |
__init__ (str initial_name) | |
clearName () | |
Resets the Namable's name to empty. More... | |
str | getName () |
bool | hasName () |
Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
output (Ostream out) | |
Outputs the Namable. More... | |
setName (str name) | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static PandaNode | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static DrawMask | getAllCameraMask () |
Returns a DrawMask that is appropriate for rendering to all cameras. More... | |
static TypeHandle | getClassType () |
static DrawMask | getOverallBit () |
Returns the special bit that, when specifically cleared in the node's DrawMask, indicates that the node is hidden to all cameras, regardless of the remaining DrawMask bits. More... | |
static | resetAllPrevTransform (Thread current_thread) |
Visits all nodes in the world with the _dirty_prev_transform flag–that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0–and resets the _prev_transform to be the same as _transform. More... | |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Additional Inherited Members | |
![]() | |
enum | FancyBits { FB_transform = 1, FB_state = 2, FB_effects = 4, FB_tag = 16, FB_draw_mask = 32, FB_cull_callback = 64 } |
enum | UnexpectedChange { UC_parents = 1, UC_children = 2, UC_transform = 4, UC_state = 8, UC_draw_mask = 16 } |
![]() | |
DrawMask | all_camera_mask |
Returns a DrawMask that is appropriate for rendering to all cameras. More... | |
bool | bounds_stale |
Returns true if the bounding volume of this node is stale and will be implicitly recomputed at the next call to get_bounds(), or false if it is fresh and need not be recomputed. More... | |
BoundingVolume::BoundsType | bounds_type |
Returns the bounding volume type set with set_bounds_type(). More... | |
PandaNode::Children | children |
Returns an object that can be used to walk through the list of children of the node. More... | |
DrawMask | draw_control_mask |
Returns the set of bits in draw_show_mask that are considered meaningful. More... | |
DrawMask | draw_show_mask |
Returns the hide/show bits of this particular node. More... | |
ConstPointerToRenderEffects | effects |
Returns the complete RenderEffects that will be applied to this node. More... | |
bool | final |
Returns the current state of the "final" flag. More... | |
ConstPointerToBoundingVolume | internal_bounds |
Returns the node's internal bounding volume. More... | |
int | internal_vertices |
Returns the total number of vertices that will be rendered by this particular node alone, not accounting for its children. More... | |
CollideMask | into_collide_mask |
Returns the "into" collide mask for this node. More... | |
CollideMask | legal_collide_mask |
Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. More... | |
int | nested_vertices |
Returns the total number of vertices that will be rendered by this node and all of its descendents. More... | |
DrawMask | overall_bit |
Returns the special bit that, when specifically cleared in the node's DrawMask, indicates that the node is hidden to all cameras, regardless of the remaining DrawMask bits. More... | |
bool | overall_hidden |
Returns true if the node has been hidden to all cameras by clearing its overall bit. More... | |
PandaNode::Parents | parents |
Returns an object that can be used to walk through the list of parents of the node, similar to get_children() and get_stashed(). More... | |
ConstPointerToTransformState | prev_transform |
Returns the transform that has been set as this node's "previous" position. More... | |
object | python_tags |
PandaNode::Stashed | stashed |
Returns the nth stashed child of this node. More... | |
ConstPointerToRenderState | state |
Returns the complete RenderState that will be applied to all nodes at this level and below, as set on this node. More... | |
String | tags [] |
ConstPointerToTransformState | transform |
Returns the transform that has been set on this particular node. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
![]() | |
const String | name |
Reads the mouse and/or keyboard data sent from a GraphicsWindow, and transmits it down the data graph.
The mouse and keyboard devices are bundled together into one device here, because they interrelate so much. A mouse might be constrained by the holding down of the shift key, for instance, or the clicking of the mouse button might be handled in much the same way as a keyboard key.
Mouse data is sent down the data graph as an x,y position as well as the set of buttons currently being held down; keyboard data is sent down as a set of keypress events in an EventDataTransition. To throw these events to the system, you must attach an EventThrower to the MouseAndKeyboard object; otherwise, the events will be discarded.
__init__ | ( | GraphicsWindow | window, |
int | device, | ||
str | name | ||
) |
__init__ | ( | const | MouseAndKeyboard | ) |
|
static |
setSource | ( | GraphicsWindow | window, |
int | device | ||
) |
Redirects the class to get the data from the mouse and keyboard associated with a different window and/or device number.