1302896555 2 2 10 libcollide 4 Hwca 5 panda 279 295 14 get_class_type 4 574 32 CollisionHandler::get_class_type 0 1 1 0 57 static TypeHandle CollisionHandler::get_class_type(void); 296 17 ~CollisionHandler 4 574 35 CollisionHandler::~CollisionHandler 0 0 0 42 CollisionHandler::~CollisionHandler(void); 297 20 get_collision_origin 4 576 36 CollisionSolid::get_collision_origin 0 1 2 0 70 virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0; 298 12 set_tangible 4 576 28 CollisionSolid::set_tangible 0 1 3 1078 // Filename: collisionSolid.I // Created by: drose (27Jun00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_tangible // Access: Published // Description: Sets the current state of the 'tangible' flag. Set // this true to make the solid tangible, so that a // CollisionHandlerPusher will not allow another object // to intersect it, or false to make it intangible, so // that a CollisionHandlerPusher will ignore it except // to throw an event. //////////////////////////////////////////////////////////////////// 56 inline void CollisionSolid::set_tangible(bool tangible); 299 11 is_tangible 4 576 27 CollisionSolid::is_tangible 0 1 4 541 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::is_tangible // Access: Published // Description: Returns whether the solid is considered 'tangible' or // not. An intangible solid has no effect in a // CollisionHandlerPusher (except to throw an event); // it's useful for defining 'trigger' planes and // spheres, that cause an effect when passed through. //////////////////////////////////////////////////////////////////// 52 inline bool CollisionSolid::is_tangible(void) const; 300 20 set_effective_normal 4 576 36 CollisionSolid::set_effective_normal 0 1 5 720 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_effective_normal // Access: Published // Description: Records a false normal for this CollisionSolid that // will be reported by the collision system with all // collisions into it, instead of its actual normal. // This is useful as a workaround for the problem of an // avatar wanting to stand on a sloping ground; by // storing a false normal, the ground appears to be // perfectly level, and the avatar does not tend to // slide down it. //////////////////////////////////////////////////////////////////// 84 inline void CollisionSolid::set_effective_normal(LVector3f const &effective_normal); 301 22 clear_effective_normal 4 576 38 CollisionSolid::clear_effective_normal 0 1 6 315 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::clear_effective_normal // Access: Published // Description: Removes the normal previously set by // set_effective_normal(). //////////////////////////////////////////////////////////////////// 57 inline void CollisionSolid::clear_effective_normal(void); 302 20 has_effective_normal 4 576 36 CollisionSolid::has_effective_normal 0 1 7 337 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::has_effective_normal // Access: Published // Description: Returns true if a special normal was set by // set_effective_normal(), false otherwise. //////////////////////////////////////////////////////////////////// 61 inline bool CollisionSolid::has_effective_normal(void) const; 303 20 get_effective_normal 4 576 36 CollisionSolid::get_effective_normal 0 1 8 401 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_effective_normal // Access: Published // Description: Returns the normal that was set by // set_effective_normal(). It is an error to call this // unless has_effective_normal() returns true. //////////////////////////////////////////////////////////////////// 73 inline LVector3f const &CollisionSolid::get_effective_normal(void) const; 304 28 set_respect_effective_normal 4 576 44 CollisionSolid::set_respect_effective_normal 0 1 9 605 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_respect_effective_normal // Access: Published // Description: This is only meaningful for CollisionSolids that will // be added to a traverser as colliders. It is normally // true, but if set false, it means that this particular // solid does not care about the "effective" normal of // other solids it meets, but rather always uses the // true normal. //////////////////////////////////////////////////////////////////// 88 inline void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal); 305 28 get_respect_effective_normal 4 576 44 CollisionSolid::get_respect_effective_normal 0 1 10 279 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_respect_effective_normal // Access: Published // Description: See set_respect_effective_normal(). //////////////////////////////////////////////////////////////////// 69 inline bool CollisionSolid::get_respect_effective_normal(void) const; 306 10 get_bounds 4 576 26 CollisionSolid::get_bounds 0 1 11 262 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_bounds // Access: Protected // Description: Returns the solid's bounding volume. //////////////////////////////////////////////////////////////////// 72 ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const; 307 10 set_bounds 4 576 26 CollisionSolid::set_bounds 0 1 12 262 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_bounds // Access: Protected // Description: Returns the solid's bounding volume. //////////////////////////////////////////////////////////////////// 71 void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume); 308 6 output 4 576 22 CollisionSolid::output 0 1 13 227 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::output // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 56 virtual void CollisionSolid::output(ostream &out) const; 309 5 write 4 576 21 CollisionSolid::write 0 2 14 15 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::write // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 79 virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const; 310 14 get_class_type 4 576 30 CollisionSolid::get_class_type 0 1 16 0 55 static TypeHandle CollisionSolid::get_class_type(void); 311 13 CollisionNode 4 578 28 CollisionNode::CollisionNode 0 1 17 454 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionNode::Copy Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 63 CollisionNode::CollisionNode(basic_string< char > const &name); 312 16 set_collide_mask 4 578 31 CollisionNode::set_collide_mask 0 1 18 821 // Filename: collisionNode.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_collide_mask // Access: Published // Description: Simultaneously sets both the "from" and "into" // CollideMask values to the same thing. //////////////////////////////////////////////////////////////////// 78 inline void CollisionNode::set_collide_mask(BitMask< unsigned int, 32 > mask); 313 21 set_from_collide_mask 4 578 36 CollisionNode::set_from_collide_mask 0 1 19 509 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_from_collide_mask // Access: Published // Description: Sets the "from" CollideMask. In order for a // collision to be detected from this object into // another object, the intersection of this object's // "from" mask and the other object's "into" mask must // be nonzero. //////////////////////////////////////////////////////////////////// 76 void CollisionNode::set_from_collide_mask(BitMask< unsigned int, 32 > mask); 314 21 set_into_collide_mask 4 578 36 CollisionNode::set_into_collide_mask 0 1 20 509 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_into_collide_mask // Access: Published // Description: Sets the "into" CollideMask. In order for a // collision to be detected from another object into // this object, the intersection of the other object's // "from" mask and this object's "into" mask must be // nonzero. //////////////////////////////////////////////////////////////////// 83 inline void CollisionNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask); 315 21 get_from_collide_mask 4 578 36 CollisionNode::get_from_collide_mask 0 1 21 520 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_from_collide_mask // Access: Published // Description: Returns the current "from" CollideMask. In order for // a collision to be detected from this object into // another object, the intersection of this object's // "from" mask and the other object's "into" mask must // be nonzero. //////////////////////////////////////////////////////////////////// 84 inline BitMask< unsigned int, 32 > CollisionNode::get_from_collide_mask(void) const; 316 21 get_into_collide_mask 4 578 36 CollisionNode::get_into_collide_mask 0 1 22 520 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_into_collide_mask // Access: Published // Description: Returns the current "into" CollideMask. In order for // a collision to be detected from another object into // this object, the intersection of the other object's // "from" mask and this object's "into" mask must be // nonzero. //////////////////////////////////////////////////////////////////// 84 inline BitMask< unsigned int, 32 > CollisionNode::get_into_collide_mask(void) const; 317 12 clear_solids 4 578 27 CollisionNode::clear_solids 0 1 23 260 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::clear_solids // Access: Published // Description: Removes all solids from the node. //////////////////////////////////////////////////////////////////// 46 inline void CollisionNode::clear_solids(void); 318 14 get_num_solids 4 578 29 CollisionNode::get_num_solids 0 1 24 228 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_num_solids // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 inline int CollisionNode::get_num_solids(void) const; 319 9 get_solid 4 578 24 CollisionNode::get_solid 0 1 25 223 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_solid // Access: Published // Description: //////////////////////////////////////////////////////////////////// 78 inline ConstPointerTo< CollisionSolid > CollisionNode::get_solid(int n) const; 320 12 modify_solid 4 578 27 CollisionNode::modify_solid 0 1 26 226 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::modify_solid // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline PointerTo< CollisionSolid > CollisionNode::modify_solid(int n); 321 9 set_solid 4 578 24 CollisionNode::set_solid 0 1 27 268 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_solid // Access: Published // Description: Replaces the solid with the indicated index. //////////////////////////////////////////////////////////////////// 67 inline void CollisionNode::set_solid(int n, CollisionSolid *solid); 322 12 remove_solid 4 578 27 CollisionNode::remove_solid 0 1 28 340 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::remove_solid // Access: Published // Description: Removes the solid with the indicated index. This // will shift all subsequent indices down by one. //////////////////////////////////////////////////////////////////// 47 inline void CollisionNode::remove_solid(int n); 323 9 add_solid 4 578 24 CollisionNode::add_solid 0 1 29 365 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::add_solid // Access: Published // Description: Adds the indicated solid to the node. Returns the // index of the new solid within the node's list of // solids. //////////////////////////////////////////////////////////////////// 65 inline int CollisionNode::add_solid(CollisionSolid const *solid); 324 17 get_collider_sort 4 578 32 CollisionNode::get_collider_sort 0 1 30 350 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_collider_sort // Access: Published // Description: Returns the collider_sort value that has been set for // this particular node. See set_collider_sort(). //////////////////////////////////////////////////////////////////// 56 inline int CollisionNode::get_collider_sort(void) const; 325 17 set_collider_sort 4 578 32 CollisionNode::set_collider_sort 0 1 31 977 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_collider_sort // Access: Published // Description: Sets a particular collider_sort value on this node. // This controls the order in which colliders (that is, // "from nodes") are grouped together for the collision // traversal. // // If there are 32 or fewer colliders added to any // particular CollisionTraverser, then this value has no // meaning. It is only useful if there are many // colliders, which may force the CollisionTraverser to // make multiple passes through the data; in that case, // it may be a useful optimization to group colliders // that have similar bounding volumes together (by // giving them similar sort values). //////////////////////////////////////////////////////////////////// 55 inline void CollisionNode::set_collider_sort(int sort); 326 24 get_default_collide_mask 4 578 39 CollisionNode::get_default_collide_mask 0 1 32 333 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_default_collide_mask // Access: Published, Static // Description: Returns the default into_collide_mask assigned to new // CollisionNodes. //////////////////////////////////////////////////////////////////// 88 static inline BitMask< unsigned int, 32 > CollisionNode::get_default_collide_mask(void); 327 14 get_class_type 4 578 29 CollisionNode::get_class_type 0 1 33 0 54 static TypeHandle CollisionNode::get_class_type(void); 328 18 CollisionTraverser 4 580 38 CollisionTraverser::CollisionTraverser 0 2 34 35 230 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 85 CollisionTraverser::CollisionTraverser(basic_string< char > const &name = ("ctrav")); 329 19 ~CollisionTraverser 4 580 39 CollisionTraverser::~CollisionTraverser 0 0 229 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 46 CollisionTraverser::~CollisionTraverser(void); 330 26 set_respect_prev_transform 4 580 46 CollisionTraverser::set_respect_prev_transform 0 1 36 1206 // Filename: collisionTraverser.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::set_respect_prev_transform // Access: Published // Description: Sets the flag that indicates whether the // prev_transform stored on a node (as updated via // set_fluid_pos(), etc.) is respected to calculate // collisions. If this is true, certain types of // collision tests will be enhanced by the information // about objects in motion. If this is false, objects // are always considered to be static. The default is // false. //////////////////////////////////////////////////////////////////// 70 inline void CollisionTraverser::set_respect_prev_transform(bool flag); 331 26 get_respect_prev_transform 4 580 46 CollisionTraverser::get_respect_prev_transform 0 1 37 445 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_respect_prev_transform // Access: Published // Description: Returns the flag that indicates whether the // prev_transform stored on a node is respected to // calculate collisions. See // set_respect_prev_transform(). //////////////////////////////////////////////////////////////////// 71 inline bool CollisionTraverser::get_respect_prev_transform(void) const; 332 12 add_collider 4 580 32 CollisionTraverser::add_collider 0 1 38 779 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::add_collider // Access: Published // Description: Adds a new CollisionNode, representing an object that // will be tested for collisions into other objects, // along with the handler that will serve each detected // collision. Each CollisionNode may be served by only // one handler at a time, but a given handler may serve // many CollisionNodes. // // The handler that serves a particular node may be // changed from time to time by calling add_collider() // again on the same node. //////////////////////////////////////////////////////////////////// 91 void CollisionTraverser::add_collider(NodePath const &collider, CollisionHandler *handler); 333 15 remove_collider 4 580 35 CollisionTraverser::remove_collider 0 1 39 545 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::remove_collider // Access: Published // Description: Removes the collider (and its associated handler) // from the set of CollisionNodes that will be tested // each frame for collisions into other objects. // Returns true if the definition was found and removed, // false if it wasn't present to begin with. //////////////////////////////////////////////////////////////////// 67 bool CollisionTraverser::remove_collider(NodePath const &collider); 334 12 has_collider 4 580 32 CollisionTraverser::has_collider 0 1 40 397 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::has_collider // Access: Published // Description: Returns true if the indicated node is current in the // set of nodes that will be tested each frame for // collisions into other objects. //////////////////////////////////////////////////////////////////// 70 bool CollisionTraverser::has_collider(NodePath const &collider) const; 335 17 get_num_colliders 4 580 37 CollisionTraverser::get_num_colliders 0 1 41 348 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_num_colliders // Access: Published // Description: Returns the number of CollisionNodes that have been // added to the traverser via add_collider(). //////////////////////////////////////////////////////////////////// 54 int CollisionTraverser::get_num_colliders(void) const; 336 12 get_collider 4 580 32 CollisionTraverser::get_collider 0 1 42 335 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_collider // Access: Published // Description: Returns the nth CollisionNode that has been // added to the traverser via add_collider(). //////////////////////////////////////////////////////////////////// 55 NodePath CollisionTraverser::get_collider(int n) const; 337 11 get_handler 4 580 31 CollisionTraverser::get_handler 0 1 43 417 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_handler // Access: Published // Description: Returns the handler that is currently assigned to // serve the indicated collision node, or NULL if the // node is not on the traverser's set of active nodes. //////////////////////////////////////////////////////////////////// 82 CollisionHandler *CollisionTraverser::get_handler(NodePath const &collider) const; 338 15 clear_colliders 4 580 35 CollisionTraverser::clear_colliders 0 1 44 328 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::clear_colliders // Access: Published // Description: Completely empties the set of collision nodes and // their associated handlers. //////////////////////////////////////////////////////////////////// 47 void CollisionTraverser::clear_colliders(void); 339 8 traverse 4 580 28 CollisionTraverser::traverse 0 1 45 227 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::traverse // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 void CollisionTraverser::traverse(NodePath const &root); 340 12 set_recorder 4 580 32 CollisionTraverser::set_recorder 0 1 46 1220 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::set_recorder // Access: Published // Description: Uses the indicated CollisionRecorder object to start // recording the intersection tests made by each // subsequent call to traverse() on this object. A // particular CollisionRecorder object can only record // one traverser at a time; if this object has already // been assigned to another traverser, that assignment // is broken. // // This is intended to be used in a debugging mode to // try to determine what work is being performed by the // collision traversal. Usually, attaching a recorder // will impose significant runtime overhead. // // This does not transfer ownership of the // CollisionRecorder pointer; maintenance of that // remains the caller's responsibility. If the // CollisionRecorder is destructed, it will cleanly // remove itself from the traverser. //////////////////////////////////////////////////////////////////// 67 void CollisionTraverser::set_recorder(CollisionRecorder *recorder); 341 12 has_recorder 4 580 32 CollisionTraverser::has_recorder 0 1 47 372 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::has_recorder // Access: Published // Description: Returns true if the CollisionTraverser has a // CollisionRecorder object currently assigned, false // otherwise. //////////////////////////////////////////////////////////////////// 57 inline bool CollisionTraverser::has_recorder(void) const; 342 12 get_recorder 4 580 32 CollisionTraverser::get_recorder 0 1 48 334 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_recorder // Access: Published // Description: Returns the CollisionRecorder currently assigned, or // NULL if no recorder is assigned. //////////////////////////////////////////////////////////////////// 71 inline CollisionRecorder *CollisionTraverser::get_recorder(void) const; 343 14 clear_recorder 4 580 34 CollisionTraverser::clear_recorder 0 1 49 343 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::clear_recorder // Access: Published // Description: Removes the CollisionRecorder from the traverser and // restores normal low-overhead operation. //////////////////////////////////////////////////////////////////// 53 inline void CollisionTraverser::clear_recorder(void); 344 15 show_collisions 4 580 35 CollisionTraverser::show_collisions 0 1 50 600 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::show_collisions // Access: Published // Description: This is a high-level function to create a // CollisionVisualizer object to render the collision // tests performed by this traverser. The supplied root // should be any node in the scene graph; typically, the // top node (e.g. render). The CollisionVisualizer will // be attached to this node. //////////////////////////////////////////////////////////////////// 79 CollisionVisualizer *CollisionTraverser::show_collisions(NodePath const &root); 345 15 hide_collisions 4 580 35 CollisionTraverser::hide_collisions 0 1 51 310 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::hide_collisions // Access: Published // Description: Undoes the effect of a previous call to // show_collisions(). //////////////////////////////////////////////////////////////////// 47 void CollisionTraverser::hide_collisions(void); 346 6 output 4 580 26 CollisionTraverser::output 0 1 52 278 // DO_COLLISION_RECORDING // DO_COLLISION_RECORDING //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 void CollisionTraverser::output(ostream &out) const; 347 5 write 4 580 25 CollisionTraverser::write 0 1 53 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 69 void CollisionTraverser::write(ostream &out, int indent_level) const; 348 14 get_class_type 4 580 34 CollisionTraverser::get_class_type 0 1 54 0 59 static TypeHandle CollisionTraverser::get_class_type(void); 349 6 output 4 582 25 CollisionRecorder::output 0 1 55 222 //////////////////////////////////////////////////////////////////// // Function: CollisionRecorder::output // Access: Public // Description: //////////////////////////////////////////////////////////////////// 51 void CollisionRecorder::output(ostream &out) const; 350 14 get_class_type 4 582 33 CollisionRecorder::get_class_type 0 1 56 0 58 static TypeHandle CollisionRecorder::get_class_type(void); 351 8 get_from 4 584 24 CollisionEntry::get_from 0 1 57 331 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from // Access: Published // Description: Returns the CollisionSolid pointer for the particular // solid that triggered this collision. //////////////////////////////////////////////////////////////////// 66 inline CollisionSolid const *CollisionEntry::get_from(void) const; 352 8 has_into 4 584 24 CollisionEntry::has_into 0 1 58 578 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_into // Access: Published // Description: Returns true if the "into" solid is, in fact, a // CollisionSolid, and its pointer is known (in which // case get_into() may be called to retrieve it). If // this returns false, the collision was detected into a // GeomNode, and there is no CollisionSolid pointer to // be retrieved. //////////////////////////////////////////////////////////////////// 49 inline bool CollisionEntry::has_into(void) const; 353 8 get_into 4 584 24 CollisionEntry::get_into 0 1 59 515 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into // Access: Published // Description: Returns the CollisionSolid pointer for the particular // solid was collided into. This pointer might be NULL // if the collision was into a piece of visible // geometry, instead of a normal CollisionSolid // collision; see has_into(). //////////////////////////////////////////////////////////////////// 66 inline CollisionSolid const *CollisionEntry::get_into(void) const; 354 13 get_from_node 4 584 29 CollisionEntry::get_from_node 0 1 60 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from_node // Access: Published // Description: Returns the node that contains the CollisionSolid // that triggered this collision. This will be a node // that has been added to a CollisionTraverser via // add_collider(). //////////////////////////////////////////////////////////////////// 64 inline CollisionNode *CollisionEntry::get_from_node(void) const; 355 13 get_into_node 4 584 29 CollisionEntry::get_into_node 0 1 61 532 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into_node // Access: Published // Description: Returns the node that contains the CollisionSolid // that was collided into. This returns a PandaNode // pointer instead of something more specific, because // it might be either a CollisionNode or a GeomNode. // // Also see get_into_node_path(). //////////////////////////////////////////////////////////////////// 60 inline PandaNode *CollisionEntry::get_into_node(void) const; 356 18 get_from_node_path 4 584 34 CollisionEntry::get_from_node_path 0 1 62 509 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from_node_path // Access: Published // Description: Returns the NodePath that represents the // CollisionNode that contains the CollisionSolid that // triggered this collision. This will be a NodePath // that has been added to a CollisionTraverser via // add_collider(). //////////////////////////////////////////////////////////////////// 63 inline NodePath CollisionEntry::get_from_node_path(void) const; 357 18 get_into_node_path 4 584 34 CollisionEntry::get_into_node_path 0 1 63 651 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into_node_path // Access: Published // Description: Returns the NodePath that represents the specific // CollisionNode or GeomNode instance that was collided // into. This is the same node returned by // get_into_node(), represented as a NodePath; however, // it may be more useful because the NodePath can // resolve the particular instance of the node, if there // is more than one. //////////////////////////////////////////////////////////////////// 63 inline NodePath CollisionEntry::get_into_node_path(void) const; 358 5 set_t 4 584 21 CollisionEntry::set_t 0 1 64 309 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_t // Access: Published // Description: Sets a time value for this collision relative to // other CollisionEntries //////////////////////////////////////////////////////////////////// 43 inline void CollisionEntry::set_t(float t); 359 5 get_t 4 584 21 CollisionEntry::get_t 0 1 65 310 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_t // Access: Published // Description: returns time value for this collision relative to // other CollisionEntries //////////////////////////////////////////////////////////////////// 47 inline float CollisionEntry::get_t(void) const; 360 8 collided 4 584 24 CollisionEntry::collided 0 1 66 446 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::collided // Access: Published // Description: returns true if this represents an actual collision // as opposed to a potential collision, needed for // iterative collision resolution where path of // collider changes mid-frame //////////////////////////////////////////////////////////////////// 49 inline bool CollisionEntry::collided(void) const; 361 14 reset_collided 4 584 30 CollisionEntry::reset_collided 0 1 67 264 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::reset_collided // Access: Published // Description: prepare for another collision test //////////////////////////////////////////////////////////////////// 49 inline void CollisionEntry::reset_collided(void); 362 26 get_respect_prev_transform 4 584 42 CollisionEntry::get_respect_prev_transform 0 1 68 479 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_respect_prev_transform // Access: Published // Description: Returns true if the collision was detected by a // CollisionTraverser whose respect_prev_transform // flag was set true, meaning we should consider motion // significant in evaluating collisions. //////////////////////////////////////////////////////////////////// 67 inline bool CollisionEntry::get_respect_prev_transform(void) const; 363 17 set_surface_point 4 584 33 CollisionEntry::set_surface_point 0 1 69 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_surface_point // Access: Published // Description: Stores the point, on the surface of the "into" // object, at which a collision is detected. // // This point is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 69 inline void CollisionEntry::set_surface_point(LPoint3f const &point); 364 18 set_surface_normal 4 584 34 CollisionEntry::set_surface_normal 0 1 70 439 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_surface_normal // Access: Published // Description: Stores the surface normal of the "into" object at the // point of the intersection. // // This normal is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 72 inline void CollisionEntry::set_surface_normal(LVector3f const &normal); 365 18 set_interior_point 4 584 34 CollisionEntry::set_interior_point 0 1 71 682 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_interior_point // Access: Published // Description: Stores the point, within the interior of the "into" // object, which represents the depth to which the // "from" object has penetrated. This can also be // described as the intersection point on the surface of // the "from" object (which is inside the "into" // object). // // This point is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 70 inline void CollisionEntry::set_interior_point(LPoint3f const &point); 366 17 has_surface_point 4 584 33 CollisionEntry::has_surface_point 0 1 72 441 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_surface_point // Access: Published // Description: Returns true if the surface point has been specified, // false otherwise. See get_surface_point(). Some // types of collisions may not compute the surface // point. //////////////////////////////////////////////////////////////////// 58 inline bool CollisionEntry::has_surface_point(void) const; 367 18 has_surface_normal 4 584 34 CollisionEntry::has_surface_normal 0 1 73 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_surface_normal // Access: Published // Description: Returns true if the surface normal has been specified, // false otherwise. See get_surface_normal(). Some // types of collisions may not compute the surface // normal. //////////////////////////////////////////////////////////////////// 59 inline bool CollisionEntry::has_surface_normal(void) const; 368 18 has_interior_point 4 584 34 CollisionEntry::has_interior_point 0 1 74 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_interior_point // Access: Published // Description: Returns true if the interior point has been specified, // false otherwise. See get_interior_point(). Some // types of collisions may not compute the interior // point. //////////////////////////////////////////////////////////////////// 59 inline bool CollisionEntry::has_interior_point(void) const; 369 15 set_contact_pos 4 584 31 CollisionEntry::set_contact_pos 0 1 75 455 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_contact_pos // Access: Published // Description: Stores the position of the "from" object at the // instant at which the collision is first detected. // // This position is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 65 inline void CollisionEntry::set_contact_pos(LPoint3f const &pos); 370 18 set_contact_normal 4 584 34 CollisionEntry::set_contact_normal 0 1 76 425 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_contact_normal // Access: Published // Description: Stores the surface normal of the "into" object at the // contact pos. // // This normal is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 72 inline void CollisionEntry::set_contact_normal(LVector3f const &normal); 371 15 has_contact_pos 4 584 31 CollisionEntry::has_contact_pos 0 1 77 438 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_contact_pos // Access: Published // Description: Returns true if the contact position has been specified, // false otherwise. See get_contact_pos(). Some // types of collisions may not compute the contact // pos. //////////////////////////////////////////////////////////////////// 56 inline bool CollisionEntry::has_contact_pos(void) const; 372 18 has_contact_normal 4 584 34 CollisionEntry::has_contact_normal 0 1 78 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_contact_normal // Access: Published // Description: Returns true if the contact normal has been specified, // false otherwise. See get_contact_normal(). Some // types of collisions may not compute the contact // normal. //////////////////////////////////////////////////////////////////// 59 inline bool CollisionEntry::has_contact_normal(void) const; 373 17 get_surface_point 4 584 33 CollisionEntry::get_surface_point 0 1 79 638 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_surface_point // Access: Published // Description: Returns the point, on the surface of the "into" // object, at which a collision is detected. This can // be thought of as the first point of intersection. // However the contact point is the actual first point of // intersection. // // The point will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 72 LPoint3f CollisionEntry::get_surface_point(NodePath const &space) const; 374 18 get_surface_normal 4 584 34 CollisionEntry::get_surface_normal 0 1 80 465 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_surface_normal // Access: Published // Description: Returns the surface normal of the "into" object at // the point at which a collision is detected. // // The normal will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 74 LVector3f CollisionEntry::get_surface_normal(NodePath const &space) const; 375 18 get_interior_point 4 584 34 CollisionEntry::get_interior_point 0 1 81 772 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_interior_point // Access: Published // Description: Returns the point, within the interior of the "into" // object, which represents the depth to which the // "from" object has penetrated. This can also be // described as the intersection point on the surface of // the "from" object (which is inside the "into" // object). It can be thought of as the deepest point // of intersection. // // The point will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 73 LPoint3f CollisionEntry::get_interior_point(NodePath const &space) const; 376 7 get_all 4 584 23 CollisionEntry::get_all 0 1 82 515 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_all // Access: Published // Description: Simultaneously transforms the surface point, surface // normal, and interior point of the collision into the // indicated coordinate space. // // Returns true if all three properties are available, // or false if any one of them is not. //////////////////////////////////////////////////////////////////// 136 bool CollisionEntry::get_all(NodePath const &space, LPoint3f &surface_point, LVector3f &surface_normal, LPoint3f &interior_point) const; 377 15 get_contact_pos 4 584 31 CollisionEntry::get_contact_pos 0 1 83 462 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_contact_pos // Access: Published // Description: Returns the position of the "from" object at the instant // that a collision is first detected. // // The position will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 70 LPoint3f CollisionEntry::get_contact_pos(NodePath const &space) const; 378 18 get_contact_normal 4 584 34 CollisionEntry::get_contact_normal 0 1 84 443 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_contact_normal // Access: Published // Description: Returns the surface normal of the "into" object at // the contact position. // // The normal will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 74 LVector3f CollisionEntry::get_contact_normal(NodePath const &space) const; 379 20 get_all_contact_info 4 584 36 CollisionEntry::get_all_contact_info 0 1 85 514 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_all_contact_info // Access: Published // Description: Simultaneously transforms the contact position and // contact normal of the collision into the // indicated coordinate space. // // Returns true if all three properties are available, // or false if any one of them is not. //////////////////////////////////////////////////////////////////// 121 bool CollisionEntry::get_all_contact_info(NodePath const &space, LPoint3f &contact_pos, LVector3f &contact_normal) const; 380 6 output 4 584 22 CollisionEntry::output 0 1 86 222 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 48 void CollisionEntry::output(ostream &out) const; 381 5 write 4 584 21 CollisionEntry::write 0 2 87 88 221 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 void CollisionEntry::write(ostream &out, int indent_level = (0)) const; 382 14 get_class_type 4 584 30 CollisionEntry::get_class_type 0 1 89 0 55 static TypeHandle CollisionEntry::get_class_type(void); 383 15 ~CollisionEntry 4 584 31 CollisionEntry::~CollisionEntry 0 0 0 38 CollisionEntry::~CollisionEntry(void); 384 21 CollisionHandlerEvent 4 586 44 CollisionHandlerEvent::CollisionHandlerEvent 0 1 90 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::Constructor // Access: Public // Description: The default CollisionHandlerEvent will throw no // events. Its pattern strings must first be set via a // call to add_in_pattern() and/or add_out_pattern(). //////////////////////////////////////////////////////////////////// 51 CollisionHandlerEvent::CollisionHandlerEvent(void); 385 17 clear_in_patterns 4 586 40 CollisionHandlerEvent::clear_in_patterns 0 1 91 323 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_in_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_in_pattern. //////////////////////////////////////////////////////////////////// 59 inline void CollisionHandlerEvent::clear_in_patterns(void); 386 14 add_in_pattern 4 586 37 CollisionHandlerEvent::add_in_pattern 0 1 92 2355 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_in_pattern // Access: Public // Description: Adds a pattern string to the list of events that will // be generated in response to a collision. The pattern // string describes how the event name will be composed. // It is a string that may contain any of the following: // // %fn - the name of the "from" object's node // %in - the name of the "into" object's node // %fs - 't' if "from" is tangible, 'i' if intangible // %is - 't' if "into" is tangible, 'i' if intangible // %ig - 'c' if the collision is into a // CollisionNode, 'g' if it is a geom. // // %(tag)fh - generate event only if "from" node has // the indicated net tag. // %(tag)fx - generate event only if "from" node does // not have the indicated net tag. // %(tag)ih - generate event only if "into" node has // the indicated net tag. // %(tag)ix - generate event only if "into" node does // not have the indicated net tag. // %(tag)ft - the indicated net tag value of the "from" node. // %(tag)it - the indicated net tag value of the "into" node. // // Parentheses in the above are literal and should be // included in the actual pattern. // // The event name will be based on the in_pattern // string specified here, with all occurrences of the // above strings replaced with the corresponding values. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 90 inline void CollisionHandlerEvent::add_in_pattern(basic_string< char > const &in_pattern); 387 14 set_in_pattern 4 586 37 CollisionHandlerEvent::set_in_pattern 0 1 93 395 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_in_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 90 inline void CollisionHandlerEvent::set_in_pattern(basic_string< char > const &in_pattern); 388 19 get_num_in_patterns 4 586 42 CollisionHandlerEvent::get_num_in_patterns 0 1 94 318 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_in_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 66 inline int CollisionHandlerEvent::get_num_in_patterns(void) const; 389 14 get_in_pattern 4 586 37 CollisionHandlerEvent::get_in_pattern 0 1 95 399 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_in_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_in_pattern(). //////////////////////////////////////////////////////////////////// 79 inline basic_string< char > CollisionHandlerEvent::get_in_pattern(int n) const; 390 20 clear_again_patterns 4 586 43 CollisionHandlerEvent::clear_again_patterns 0 1 96 329 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_again_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_again_pattern. //////////////////////////////////////////////////////////////////// 62 inline void CollisionHandlerEvent::clear_again_patterns(void); 391 17 add_again_pattern 4 586 40 CollisionHandlerEvent::add_again_pattern 0 1 97 1055 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_again_pattern // Access: Public // Description: Adds the pattern string that indicates how the event // names are generated when a collision between two // particular nodes is *still* detected. This event is // thrown each consecutive time a collision between two // particular nodes is detected, starting with the // second time. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 96 inline void CollisionHandlerEvent::add_again_pattern(basic_string< char > const &again_pattern); 392 17 set_again_pattern 4 586 40 CollisionHandlerEvent::set_again_pattern 0 1 98 398 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_again_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 96 inline void CollisionHandlerEvent::set_again_pattern(basic_string< char > const &again_pattern); 393 22 get_num_again_patterns 4 586 45 CollisionHandlerEvent::get_num_again_patterns 0 1 99 321 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_again_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 69 inline int CollisionHandlerEvent::get_num_again_patterns(void) const; 394 17 get_again_pattern 4 586 40 CollisionHandlerEvent::get_again_pattern 0 1 100 405 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_again_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_again_pattern(). //////////////////////////////////////////////////////////////////// 82 inline basic_string< char > CollisionHandlerEvent::get_again_pattern(int n) const; 395 18 clear_out_patterns 4 586 41 CollisionHandlerEvent::clear_out_patterns 0 1 101 325 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_out_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_out_pattern. //////////////////////////////////////////////////////////////////// 60 inline void CollisionHandlerEvent::clear_out_patterns(void); 396 15 add_out_pattern 4 586 38 CollisionHandlerEvent::add_out_pattern 0 1 102 877 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_out_pattern // Access: Public // Description: Adds the pattern string that indicates how the event // names are generated when a collision between two // particular nodes is *no longer* detected. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 92 inline void CollisionHandlerEvent::add_out_pattern(basic_string< char > const &out_pattern); 397 15 set_out_pattern 4 586 38 CollisionHandlerEvent::set_out_pattern 0 1 103 396 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_out_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 92 inline void CollisionHandlerEvent::set_out_pattern(basic_string< char > const &out_pattern); 398 20 get_num_out_patterns 4 586 43 CollisionHandlerEvent::get_num_out_patterns 0 1 104 319 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_out_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 67 inline int CollisionHandlerEvent::get_num_out_patterns(void) const; 399 15 get_out_pattern 4 586 38 CollisionHandlerEvent::get_out_pattern 0 1 105 401 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_out_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_out_pattern(). //////////////////////////////////////////////////////////////////// 80 inline basic_string< char > CollisionHandlerEvent::get_out_pattern(int n) const; 400 5 clear 4 586 28 CollisionHandlerEvent::clear 0 1 106 887 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear // Access: Public // Description: Empties the list of elements that all colliders are // known to be colliding with. No "out" events will be // thrown; if the same collision is detected next frame, // a new "in" event will be thrown for each collision. // // This can be called each frame to defeat the // persistent "in" event mechanism, which prevents the // same "in" event from being thrown repeatedly. // However, also see add_again_pattern(), which can be // used to set the event that is thrown when a collision // is detected for two or more consecutive frames. //////////////////////////////////////////////////////////////////// 40 void CollisionHandlerEvent::clear(void); 401 5 flush 4 586 28 CollisionHandlerEvent::flush 0 1 107 272 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::flush // Access: Public // Description: Same as clear() except "out" events are thrown. //////////////////////////////////////////////////////////////////// 40 void CollisionHandlerEvent::flush(void); 402 14 get_class_type 4 586 37 CollisionHandlerEvent::get_class_type 0 1 108 0 62 static TypeHandle CollisionHandlerEvent::get_class_type(void); 403 22 ~CollisionHandlerEvent 4 586 45 CollisionHandlerEvent::~CollisionHandlerEvent 0 0 0 52 CollisionHandlerEvent::~CollisionHandlerEvent(void); 404 28 CollisionHandlerHighestEvent 4 587 58 CollisionHandlerHighestEvent::CollisionHandlerHighestEvent 0 1 109 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::Constructor // Access: Public // Description: The default CollisionHandlerEvent will throw no // events. Its pattern strings must first be set via a // call to add_in_pattern() and/or add_out_pattern(). //////////////////////////////////////////////////////////////////// 65 CollisionHandlerHighestEvent::CollisionHandlerHighestEvent(void); 405 14 get_class_type 4 587 44 CollisionHandlerHighestEvent::get_class_type 0 1 110 0 69 static TypeHandle CollisionHandlerHighestEvent::get_class_type(void); 406 29 ~CollisionHandlerHighestEvent 4 587 59 CollisionHandlerHighestEvent::~CollisionHandlerHighestEvent 0 0 0 66 CollisionHandlerHighestEvent::~CollisionHandlerHighestEvent(void); 407 12 add_collider 4 588 38 CollisionHandlerPhysical::add_collider 0 2 111 112 1159 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::add_collider // Access: Published // Description: Adds a new collider to the list with a NodePath // that will be updated with the collider's new // position, or updates the existing collider with a new // NodePath object. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::add_collider // Access: Published // Description: Adds a new collider to the list with a NodePath // that will be updated with the collider's new // position, or updates the existing collider with a new // NodePath object. // // The indicated DriveInterface will also be updated // with the target's new transform each frame. This // method should be used when the target is directly // controlled by a DriveInterface. //////////////////////////////////////////////////////////////////// 222 void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target); void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target, DriveInterface *drive_interface); 408 15 remove_collider 4 588 41 CollisionHandlerPhysical::remove_collider 0 1 113 336 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::remove_collider // Access: Published // Description: Removes the collider from the list of colliders that // this handler knows about. //////////////////////////////////////////////////////////////////// 73 bool CollisionHandlerPhysical::remove_collider(NodePath const &collider); 409 12 has_collider 4 588 38 CollisionHandlerPhysical::has_collider 0 1 114 335 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_collider // Access: Published // Description: Returns true if the handler knows about the indicated // collider, false otherwise. //////////////////////////////////////////////////////////////////// 76 bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const; 410 15 clear_colliders 4 588 41 CollisionHandlerPhysical::clear_colliders 0 1 115 324 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::clear_colliders // Access: Published // Description: Completely empties the list of colliders this handler // knows about. //////////////////////////////////////////////////////////////////// 53 void CollisionHandlerPhysical::clear_colliders(void); 411 10 set_center 4 588 36 CollisionHandlerPhysical::set_center 0 1 116 1053 // Filename: collisionHandlerPhysical.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::set_center // Access: Published // Description: Specifies an arbitrary NodePath that the handler is // always considered to be facing. It does not detect // collisions with surfaces that appear to be facing // away from this NodePath. This works best when the // collision surfaces in question are polygons. //////////////////////////////////////////////////////////////////// 73 inline void CollisionHandlerPhysical::set_center(NodePath const ¢er); 412 12 clear_center 4 588 38 CollisionHandlerPhysical::clear_center 0 1 117 291 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::clear_center // Access: Published // Description: Clears the center NodePath specified with set_center. //////////////////////////////////////////////////////////////////// 57 inline void CollisionHandlerPhysical::clear_center(void); 413 10 get_center 4 588 36 CollisionHandlerPhysical::get_center 0 1 118 353 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::get_center // Access: Published // Description: Returns the NodePath specified with set_center, or // the empty NodePath if nothing has been specified. //////////////////////////////////////////////////////////////////// 72 inline NodePath const &CollisionHandlerPhysical::get_center(void) const; 414 10 has_center 4 588 36 CollisionHandlerPhysical::has_center 0 1 119 334 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_center // Access: Published // Description: Returns true if a NodePath has been specified with // set_center(), false otherwise. //////////////////////////////////////////////////////////////////// 61 inline bool CollisionHandlerPhysical::has_center(void) const; 415 11 has_contact 4 588 37 CollisionHandlerPhysical::has_contact 0 1 120 537 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_contact // Access: Public // Description: Did the handler make any contacts with anything // on the last collision pass? Depending on how your // world is setup, this can be used to tell if the // handler is out of the world (i.e. out of bounds). // That is the original use of this call. //////////////////////////////////////////////////////////////////// 62 inline bool CollisionHandlerPhysical::has_contact(void) const; 416 14 get_class_type 4 588 40 CollisionHandlerPhysical::get_class_type 0 1 121 0 65 static TypeHandle CollisionHandlerPhysical::get_class_type(void); 417 21 CollisionHandlerFloor 4 589 44 CollisionHandlerFloor::CollisionHandlerFloor 0 1 122 230 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 51 CollisionHandlerFloor::CollisionHandlerFloor(void); 418 10 set_offset 4 589 33 CollisionHandlerFloor::set_offset 0 1 123 910 // Filename: collisionHandlerFloor.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_offset // Access: Public // Description: Sets the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 60 inline void CollisionHandlerFloor::set_offset(float offset); 419 10 get_offset 4 589 33 CollisionHandlerFloor::get_offset 0 1 124 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_offset // Access: Public // Description: Returns the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 59 inline float CollisionHandlerFloor::get_offset(void) const; 420 9 set_reach 4 589 32 CollisionHandlerFloor::set_reach 0 1 125 317 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_reach // Access: Public // Description: Sets the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 58 inline void CollisionHandlerFloor::set_reach(float reach); 421 9 get_reach 4 589 32 CollisionHandlerFloor::get_reach 0 1 126 320 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_reach // Access: Public // Description: Returns the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 58 inline float CollisionHandlerFloor::get_reach(void) const; 422 16 set_max_velocity 4 589 39 CollisionHandlerFloor::set_max_velocity 0 1 127 469 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_max_velocity // Access: Public // Description: Sets the maximum speed at which the object will be // allowed to descend towards a floor below it, in units // per second. Set this to zero to allow it to // instantly teleport any distance. //////////////////////////////////////////////////////////////////// 67 inline void CollisionHandlerFloor::set_max_velocity(float max_vel); 423 16 get_max_velocity 4 589 39 CollisionHandlerFloor::get_max_velocity 0 1 128 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_max_velocity // Access: Public // Description: Retrieves the maximum speed at which the object will // be allowed to descend towards a floor below it, in // units per second. See set_max_velocity(). //////////////////////////////////////////////////////////////////// 65 inline float CollisionHandlerFloor::get_max_velocity(void) const; 424 14 get_class_type 4 589 37 CollisionHandlerFloor::get_class_type 0 1 129 0 62 static TypeHandle CollisionHandlerFloor::get_class_type(void); 425 23 CollisionHandlerGravity 4 590 48 CollisionHandlerGravity::CollisionHandlerGravity 0 1 130 232 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 55 CollisionHandlerGravity::CollisionHandlerGravity(void); 426 10 set_offset 4 590 35 CollisionHandlerGravity::set_offset 0 1 131 914 // Filename: CollisionHandlerGravity.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_offset // Access: Public // Description: Sets the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 62 inline void CollisionHandlerGravity::set_offset(float offset); 427 10 get_offset 4 590 35 CollisionHandlerGravity::get_offset 0 1 132 418 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_offset // Access: Public // Description: Returns the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 61 inline float CollisionHandlerGravity::get_offset(void) const; 428 9 set_reach 4 590 34 CollisionHandlerGravity::set_reach 0 1 133 319 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_reach // Access: Public // Description: Sets the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 60 inline void CollisionHandlerGravity::set_reach(float reach); 429 9 get_reach 4 590 34 CollisionHandlerGravity::get_reach 0 1 134 322 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_reach // Access: Public // Description: Returns the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 60 inline float CollisionHandlerGravity::get_reach(void) const; 430 19 get_airborne_height 4 590 44 CollisionHandlerGravity::get_airborne_height 0 1 135 527 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_airborne_height // Access: Public // Description: Return the height of the object from the ground. // // The object might not necessarily be at rest. Use // is_on_ground() if you want to know whether the // object is on the ground and at rest. // // See Also: is_in_outer_space() //////////////////////////////////////////////////////////////////// 70 inline float CollisionHandlerGravity::get_airborne_height(void) const; 431 12 is_on_ground 4 590 37 CollisionHandlerGravity::is_on_ground 0 1 136 256 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::is_on_ground // Access: Public // Description: Is the object at rest? //////////////////////////////////////////////////////////////////// 62 inline bool CollisionHandlerGravity::is_on_ground(void) const; 432 19 get_impact_velocity 4 590 44 CollisionHandlerGravity::get_impact_velocity 0 1 137 586 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_impact_velocity // Access: Public // Description: How hard did the object hit the ground. // This value is set on impact with the ground. // You may want to watch (poll) on is_on_groun() and // when that is true, call get_impact_velocity(). // Normally I avoid polling, but we are calling // is_on_ground() frequently anyway. //////////////////////////////////////////////////////////////////// 70 inline float CollisionHandlerGravity::get_impact_velocity(void) const; 433 18 get_contact_normal 4 590 43 CollisionHandlerGravity::get_contact_normal 0 1 138 240 //////////////////////////////////////////////////////////////////// // Function : CollisionHandlerGravity::get_contact_normal // Access : Public // Description : //////////////////////////////////////////////////////////////////// 80 inline LVector3f const &CollisionHandlerGravity::get_contact_normal(void) const; 434 12 add_velocity 4 590 37 CollisionHandlerGravity::add_velocity 0 1 139 451 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::add_velocity // Access: Public // Description: Adds the sepcified amount to the current velocity. // This is mostly here allow this common operation to // be faster for scripting, but it's also more concise // even in cpp. //////////////////////////////////////////////////////////////////// 66 inline void CollisionHandlerGravity::add_velocity(float velocity); 435 12 set_velocity 4 590 37 CollisionHandlerGravity::set_velocity 0 1 140 269 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_velocity // Access: Public // Description: Sets the current vertical velocity. //////////////////////////////////////////////////////////////////// 66 inline void CollisionHandlerGravity::set_velocity(float velocity); 436 12 get_velocity 4 590 37 CollisionHandlerGravity::get_velocity 0 1 141 681 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_velocity // Access: Public // Description: Gets the current vertical velocity. // // Generally, negative values mean the object is in // free fall; while postive values mean the object has // vertical thrust. // // A zero value does not necessarily mean the object // on the ground, it may also be weightless and/or at // the apex of its jump. // // See Also: is_on_ground() and get_gravity() //////////////////////////////////////////////////////////////////// 63 inline float CollisionHandlerGravity::get_velocity(void) const; 437 11 set_gravity 4 590 36 CollisionHandlerGravity::set_gravity 0 1 142 278 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_gravity // Access: Public // Description: Sets the linear gravity force (always plumb). //////////////////////////////////////////////////////////////////// 64 inline void CollisionHandlerGravity::set_gravity(float gravity); 438 11 get_gravity 4 590 36 CollisionHandlerGravity::get_gravity 0 1 143 278 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_gravity // Access: Public // Description: Gets the linear gravity force (always plumb). //////////////////////////////////////////////////////////////////// 62 inline float CollisionHandlerGravity::get_gravity(void) const; 439 16 set_max_velocity 4 590 41 CollisionHandlerGravity::set_max_velocity 0 1 144 471 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_max_velocity // Access: Public // Description: Sets the maximum speed at which the object will be // allowed to descend towards a floor below it, in units // per second. Set this to zero to allow it to // instantly teleport any distance. //////////////////////////////////////////////////////////////////// 69 inline void CollisionHandlerGravity::set_max_velocity(float max_vel); 440 16 get_max_velocity 4 590 41 CollisionHandlerGravity::get_max_velocity 0 1 145 418 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_max_velocity // Access: Public // Description: Retrieves the maximum speed at which the object will // be allowed to descend towards a floor below it, in // units per second. See set_max_velocity(). //////////////////////////////////////////////////////////////////// 67 inline float CollisionHandlerGravity::get_max_velocity(void) const; 441 15 set_legacy_mode 4 590 40 CollisionHandlerGravity::set_legacy_mode 0 1 146 517 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_legacy_mode // Access: Public // Description: Enables old behavior required by Toontown // (Sellbot Factory lava room is good test case, // lava and conveyor belt specifically). Behavior // is to throw enter/exit events only for floor // that the toon is in contact with //////////////////////////////////////////////////////////////////// 71 inline void CollisionHandlerGravity::set_legacy_mode(bool legacy_mode); 442 15 get_legacy_mode 4 590 40 CollisionHandlerGravity::get_legacy_mode 0 1 147 275 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_legacy_mode // Access: Public // Description: returns true if legacy mode is enabled //////////////////////////////////////////////////////////////////// 65 inline bool CollisionHandlerGravity::get_legacy_mode(void) const; 443 14 get_class_type 4 590 39 CollisionHandlerGravity::get_class_type 0 1 148 0 64 static TypeHandle CollisionHandlerGravity::get_class_type(void); 444 22 CollisionHandlerPusher 4 591 46 CollisionHandlerPusher::CollisionHandlerPusher 0 1 149 231 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 53 CollisionHandlerPusher::CollisionHandlerPusher(void); 445 14 set_horizontal 4 591 38 CollisionHandlerPusher::set_horizontal 0 1 150 732 // Filename: collisionHandlerPusher.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::set_horizontal // Access: Public // Description: //////////////////////////////////////////////////////////////////// 62 inline void CollisionHandlerPusher::set_horizontal(bool flag); 446 14 get_horizontal 4 591 38 CollisionHandlerPusher::get_horizontal 0 1 151 234 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::get_horizontal // Access: Public // Description: //////////////////////////////////////////////////////////////////// 63 inline bool CollisionHandlerPusher::get_horizontal(void) const; 447 14 get_class_type 4 591 38 CollisionHandlerPusher::get_class_type 0 1 152 0 63 static TypeHandle CollisionHandlerPusher::get_class_type(void); 448 27 CollisionHandlerFluidPusher 4 592 56 CollisionHandlerFluidPusher::CollisionHandlerFluidPusher 0 1 153 236 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFluidPusher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 63 CollisionHandlerFluidPusher::CollisionHandlerFluidPusher(void); 449 14 get_class_type 4 592 43 CollisionHandlerFluidPusher::get_class_type 0 1 154 0 68 static TypeHandle CollisionHandlerFluidPusher::get_class_type(void); 450 28 ~CollisionHandlerFluidPusher 4 592 57 CollisionHandlerFluidPusher::~CollisionHandlerFluidPusher 0 0 0 64 CollisionHandlerFluidPusher::~CollisionHandlerFluidPusher(void); 451 21 CollisionHandlerQueue 4 593 44 CollisionHandlerQueue::CollisionHandlerQueue 0 1 155 233 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 51 CollisionHandlerQueue::CollisionHandlerQueue(void); 452 12 sort_entries 4 593 35 CollisionHandlerQueue::sort_entries 0 1 156 540 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::sort_entries // Access: Published // Description: Sorts all the detected collisions front-to-back by // from_intersection_point() so that those intersection // points closest to the collider's origin (e.g., the // center of the CollisionSphere, or the point_a of a // CollisionSegment) appear first. //////////////////////////////////////////////////////////////////// 47 void CollisionHandlerQueue::sort_entries(void); 453 13 clear_entries 4 593 36 CollisionHandlerQueue::clear_entries 0 1 157 275 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::clear_entries // Access: Published // Description: Removes all the entries from the queue. //////////////////////////////////////////////////////////////////// 48 void CollisionHandlerQueue::clear_entries(void); 454 15 get_num_entries 4 593 38 CollisionHandlerQueue::get_num_entries 0 1 158 313 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::get_num_entries // Access: Published // Description: Returns the number of CollisionEntries detected last // pass. //////////////////////////////////////////////////////////////////// 55 int CollisionHandlerQueue::get_num_entries(void) const; 455 9 get_entry 4 593 32 CollisionHandlerQueue::get_entry 0 1 159 282 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::get_entry // Access: Published // Description: Returns the nth CollisionEntry detected last pass. //////////////////////////////////////////////////////////////////// 62 CollisionEntry *CollisionHandlerQueue::get_entry(int n) const; 456 6 output 4 593 29 CollisionHandlerQueue::output 0 1 160 229 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 55 void CollisionHandlerQueue::output(ostream &out) const; 457 5 write 4 593 28 CollisionHandlerQueue::write 0 2 161 162 228 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 78 void CollisionHandlerQueue::write(ostream &out, int indent_level = (0)) const; 458 14 get_class_type 4 593 37 CollisionHandlerQueue::get_class_type 0 1 163 0 62 static TypeHandle CollisionHandlerQueue::get_class_type(void); 459 22 ~CollisionHandlerQueue 4 593 45 CollisionHandlerQueue::~CollisionHandlerQueue 0 0 0 52 CollisionHandlerQueue::~CollisionHandlerQueue(void); 460 16 CollisionDSSolid 4 594 34 CollisionDSSolid::CollisionDSSolid 0 2 164 165 1534 // Filename: collisionDSSolid.I // Created by: Dave Schuyler (05Apr06) // Based on collision tube by: drose // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Collision::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::Default constructor // Access: Private // Description: Creates an invalid tube. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 353 inline CollisionDSSolid::CollisionDSSolid(LPoint3f const ¢er_a, float radius_a, LPoint3f const ¢er_b, float radius_b, Planef const &plane_a, Planef const &plane_b); inline CollisionDSSolid::CollisionDSSolid(float ax, float ay, float az, float radius_a, float bx, float by, float bz, float radius_b, Planef const &plane_a, Planef const &plane_b); 461 12 set_center_a 4 594 30 CollisionDSSolid::set_center_a 0 2 166 167 480 // Sphere a // Sphere a //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 138 inline void CollisionDSSolid::set_center_a(LPoint3f const ¢er); inline void CollisionDSSolid::set_center_a(float x, float y, float z); 462 12 get_center_a 4 594 30 CollisionDSSolid::get_center_a 0 1 168 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 66 inline LPoint3f const &CollisionDSSolid::get_center_a(void) const; 463 12 set_radius_a 4 594 30 CollisionDSSolid::set_radius_a 0 1 169 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_radius_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 57 inline void CollisionDSSolid::set_radius_a(float radius); 464 12 get_radius_a 4 594 30 CollisionDSSolid::get_radius_a 0 1 170 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_radius_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 56 inline float CollisionDSSolid::get_radius_a(void) const; 465 12 set_center_b 4 594 30 CollisionDSSolid::set_center_b 0 2 171 172 480 // Sphere b // Sphere b //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 138 inline void CollisionDSSolid::set_center_b(LPoint3f const ¢er); inline void CollisionDSSolid::set_center_b(float x, float y, float z); 466 12 get_center_b 4 594 30 CollisionDSSolid::get_center_b 0 1 173 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 66 inline LPoint3f const &CollisionDSSolid::get_center_b(void) const; 467 12 set_radius_b 4 594 30 CollisionDSSolid::set_radius_b 0 1 174 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_radius_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 57 inline void CollisionDSSolid::set_radius_b(float radius); 468 12 get_radius_b 4 594 30 CollisionDSSolid::get_radius_b 0 1 175 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_radius_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 56 inline float CollisionDSSolid::get_radius_b(void) const; 469 12 get_normal_a 4 594 30 CollisionDSSolid::get_normal_a 0 1 176 241 // Plane a //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_normal_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 60 inline LVector3f CollisionDSSolid::get_normal_a(void) const; 470 15 dist_to_plane_a 4 594 33 CollisionDSSolid::dist_to_plane_a 0 1 177 244 // Plane a //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::dist_to_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 76 inline float CollisionDSSolid::dist_to_plane_a(LPoint3f const &point) const; 471 11 set_plane_a 4 594 29 CollisionDSSolid::set_plane_a 0 1 178 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline void CollisionDSSolid::set_plane_a(Planef const &plane); 472 11 get_plane_a 4 594 29 CollisionDSSolid::get_plane_a 0 1 179 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline Planef const &CollisionDSSolid::get_plane_a(void) const; 473 12 get_normal_b 4 594 30 CollisionDSSolid::get_normal_b 0 1 180 241 // Plane b //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_normal_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 60 inline LVector3f CollisionDSSolid::get_normal_b(void) const; 474 15 dist_to_plane_b 4 594 33 CollisionDSSolid::dist_to_plane_b 0 1 181 244 // Plane b //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::dist_to_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 76 inline float CollisionDSSolid::dist_to_plane_b(LPoint3f const &point) const; 475 11 set_plane_b 4 594 29 CollisionDSSolid::set_plane_b 0 1 182 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline void CollisionDSSolid::set_plane_b(Planef const &plane); 476 11 get_plane_b 4 594 29 CollisionDSSolid::get_plane_b 0 1 183 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline Planef const &CollisionDSSolid::get_plane_b(void) const; 477 14 get_class_type 4 594 32 CollisionDSSolid::get_class_type 0 1 184 0 57 static TypeHandle CollisionDSSolid::get_class_type(void); 478 17 ~CollisionDSSolid 4 594 35 CollisionDSSolid::~CollisionDSSolid 0 0 0 42 CollisionDSSolid::~CollisionDSSolid(void); 479 12 CollisionBox 4 595 26 CollisionBox::CollisionBox 0 3 185 186 187 1911 // Filename: collisionBox.I // Created by: amith tudur (31Jul09) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Create the Box by giving a Center and distances of // of each of the sides of box from the Center. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Create the Box by Specifying the Diagonal Points //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Center as three separate co-ordinate points //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Default constructor // Access: Protected // Description: Creates an invalid Box. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 254 inline CollisionBox::CollisionBox(LPoint3f const ¢er, float x, float y, float z); inline CollisionBox::CollisionBox(float cx, float cy, float cz, float x, float y, float z); inline CollisionBox::CollisionBox(LPoint3f const &min, LPoint3f const &max); 480 14 get_num_points 4 595 28 CollisionBox::get_num_points 0 1 188 285 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_num_points // Access: Published // Description: Returns 8: the number of vertices of a rectangular solid. //////////////////////////////////////////////////////////////////// 52 inline int CollisionBox::get_num_points(void) const; 481 14 get_point_aabb 4 595 28 CollisionBox::get_point_aabb 0 1 189 284 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_point_aabb // Access: Published // Description: Returns the nth vertex of the Axis Aligned Bounding Box. //////////////////////////////////////////////////////////////////// 58 inline LPoint3f CollisionBox::get_point_aabb(int n) const; 482 9 get_point 4 595 23 CollisionBox::get_point 0 1 190 257 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_point // Access: Published // Description: Returns the nth vertex of the OBB. //////////////////////////////////////////////////////////////////// 53 inline LPoint3f CollisionBox::get_point(int n) const; 483 14 get_num_planes 4 595 28 CollisionBox::get_num_planes 0 1 191 282 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_num_planes // Access: Published // Description: Returns 6: the number of faces of a rectangular solid. //////////////////////////////////////////////////////////////////// 52 inline int CollisionBox::get_num_planes(void) const; 484 9 set_plane 4 595 23 CollisionBox::set_plane 0 1 192 269 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_plane // Access: Published // Description: Creates the nth face of the rectangular solid. //////////////////////////////////////////////////////////////////// 51 inline Planef CollisionBox::set_plane(int n) const; 485 9 get_plane 4 595 23 CollisionBox::get_plane 0 1 193 269 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_plane // Access: Published // Description: Returns the nth face of the rectangular solid. //////////////////////////////////////////////////////////////////// 51 inline Planef CollisionBox::get_plane(int n) const; 486 10 set_center 4 595 24 CollisionBox::set_center 0 2 194 195 448 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 126 inline void CollisionBox::set_center(LPoint3f const ¢er); inline void CollisionBox::set_center(float x, float y, float z); 487 10 get_center 4 595 24 CollisionBox::get_center 0 1 196 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 60 inline LPoint3f const &CollisionBox::get_center(void) const; 488 10 get_radius 4 595 24 CollisionBox::get_radius 0 1 197 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 50 inline float CollisionBox::get_radius(void) const; 489 14 get_class_type 4 595 28 CollisionBox::get_class_type 0 1 198 0 53 static TypeHandle CollisionBox::get_class_type(void); 490 13 ~CollisionBox 4 595 27 CollisionBox::~CollisionBox 0 0 0 34 CollisionBox::~CollisionBox(void); 491 15 CollisionSphere 4 596 32 CollisionSphere::CollisionSphere 0 2 199 200 1494 // Filename: collisionSphere.I // Created by: drose (24Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Default constructor // Access: Protected // Description: Creates an invalid sphere. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 163 inline CollisionSphere::CollisionSphere(LPoint3f const ¢er, float radius); inline CollisionSphere::CollisionSphere(float cx, float cy, float cz, float radius); 492 10 set_center 4 596 27 CollisionSphere::set_center 0 2 201 202 454 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 132 inline void CollisionSphere::set_center(LPoint3f const ¢er); inline void CollisionSphere::set_center(float x, float y, float z); 493 10 get_center 4 596 27 CollisionSphere::get_center 0 1 203 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::get_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline LPoint3f const &CollisionSphere::get_center(void) const; 494 10 set_radius 4 596 27 CollisionSphere::set_radius 0 1 204 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 inline void CollisionSphere::set_radius(float radius); 495 10 get_radius 4 596 27 CollisionSphere::get_radius 0 1 205 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 inline float CollisionSphere::get_radius(void) const; 496 14 get_class_type 4 596 31 CollisionSphere::get_class_type 0 1 206 0 56 static TypeHandle CollisionSphere::get_class_type(void); 497 16 ~CollisionSphere 4 596 33 CollisionSphere::~CollisionSphere 0 0 0 40 CollisionSphere::~CollisionSphere(void); 498 18 CollisionInvSphere 4 597 38 CollisionInvSphere::CollisionInvSphere 0 2 207 208 1509 // Filename: collisionInvSphere.I // Created by: drose (05Jan05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Default constructor // Access: Protected // Description: Creates an invalid sphere. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 175 inline CollisionInvSphere::CollisionInvSphere(LPoint3f const ¢er, float radius); inline CollisionInvSphere::CollisionInvSphere(float cx, float cy, float cz, float radius); 499 14 get_class_type 4 597 34 CollisionInvSphere::get_class_type 0 1 209 0 59 static TypeHandle CollisionInvSphere::get_class_type(void); 500 19 ~CollisionInvSphere 4 597 39 CollisionInvSphere::~CollisionInvSphere 0 0 0 46 CollisionInvSphere::~CollisionInvSphere(void); 501 12 CollisionRay 4 598 26 CollisionRay::CollisionRay 0 3 210 211 212 1609 // Filename: collisionRay.I // Created by: drose (22Jun00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Default Constructor // Access: Public // Description: Creates an invalid ray. This isn't terribly useful; // it's expected that the user will subsequently adjust // the ray via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 222 inline CollisionRay::CollisionRay(void); inline CollisionRay::CollisionRay(LPoint3f const &origin, LVector3f const &direction); inline CollisionRay::CollisionRay(float ox, float oy, float oz, float dx, float dy, float dz); 502 10 set_origin 4 598 24 CollisionRay::set_origin 0 2 213 214 442 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// 126 inline void CollisionRay::set_origin(LPoint3f const &origin); inline void CollisionRay::set_origin(float x, float y, float z); 503 10 get_origin 4 598 24 CollisionRay::get_origin 0 1 215 220 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::get_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// 60 inline LPoint3f const &CollisionRay::get_origin(void) const; 504 13 set_direction 4 598 27 CollisionRay::set_direction 0 2 216 217 448 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// 136 inline void CollisionRay::set_direction(LVector3f const &direction); inline void CollisionRay::set_direction(float x, float y, float z); 505 13 get_direction 4 598 27 CollisionRay::get_direction 0 1 218 223 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::get_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// 64 inline LVector3f const &CollisionRay::get_direction(void) const; 506 13 set_from_lens 4 598 27 CollisionRay::set_from_lens 0 2 219 220 1166 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionRay so that it begins at // the LensNode's near plane and extends to // infinity, making it suitable for picking objects from // the screen given a camera and a mouse location. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionRay so that it begins at // the LensNode's near plane and extends to // infinity, making it suitable for picking objects from // the screen given a camera and a mouse location. // // Returns true if the point was acceptable, false // otherwise. //////////////////////////////////////////////////////////////////// 153 bool CollisionRay::set_from_lens(LensNode *camera, LPoint2f const &point); inline bool CollisionRay::set_from_lens(LensNode *camera, float px, float py); 507 14 get_class_type 4 598 28 CollisionRay::get_class_type 0 1 221 0 53 static TypeHandle CollisionRay::get_class_type(void); 508 13 ~CollisionRay 4 598 27 CollisionRay::~CollisionRay 0 0 0 34 CollisionRay::~CollisionRay(void); 509 13 CollisionLine 4 599 28 CollisionLine::CollisionLine 0 3 222 223 224 1616 // Filename: collisionLine.I // Created by: drose (05Jan05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Default Constructor // Access: Public // Description: Creates an invalid line. This isn't terribly useful; // it's expected that the user will subsequently adjust // the line via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 228 inline CollisionLine::CollisionLine(void); inline CollisionLine::CollisionLine(LPoint3f const &origin, LVector3f const &direction); inline CollisionLine::CollisionLine(float ox, float oy, float oz, float dx, float dy, float dz); 510 14 get_class_type 4 599 29 CollisionLine::get_class_type 0 1 225 0 54 static TypeHandle CollisionLine::get_class_type(void); 511 14 ~CollisionLine 4 599 29 CollisionLine::~CollisionLine 0 0 0 36 CollisionLine::~CollisionLine(void); 512 14 CollisionPlane 4 600 30 CollisionPlane::CollisionPlane 0 2 226 227 1343 // Filename: collisionPlane.I // Created by: drose (25Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Default Constructor // Access: Protected // Description: This is only for the convenience of CollisionPolygon. // Normally, you should not attempt to create an // uninitialized CollisionPlane. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 126 inline CollisionPlane::CollisionPlane(Planef const &plane); inline CollisionPlane::CollisionPlane(CollisionPlane const ©); 513 10 get_normal 4 600 26 CollisionPlane::get_normal 0 1 228 225 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::get_normal // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 inline LVector3f CollisionPlane::get_normal(void) const; 514 13 dist_to_plane 4 600 29 CollisionPlane::dist_to_plane 0 1 229 228 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::dist_to_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 72 inline float CollisionPlane::dist_to_plane(LPoint3f const &point) const; 515 9 set_plane 4 600 25 CollisionPlane::set_plane 0 1 230 224 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::set_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 59 inline void CollisionPlane::set_plane(Planef const &plane); 516 9 get_plane 4 600 25 CollisionPlane::get_plane 0 1 231 224 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::get_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 59 inline Planef const &CollisionPlane::get_plane(void) const; 517 14 get_class_type 4 600 30 CollisionPlane::get_class_type 0 1 232 0 55 static TypeHandle CollisionPlane::get_class_type(void); 518 15 ~CollisionPlane 4 600 31 CollisionPlane::~CollisionPlane 0 0 0 38 CollisionPlane::~CollisionPlane(void); 519 16 CollisionPolygon 4 601 34 CollisionPolygon::CollisionPolygon 0 3 233 234 235 1726 // Filename: collisionPolygon.I // Created by: drose (25Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Private // Description: Creates an invalid polygon. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 319 inline CollisionPolygon::CollisionPolygon(LVecBase3f const &a, LVecBase3f const &b, LVecBase3f const &c); inline CollisionPolygon::CollisionPolygon(LVecBase3f const &a, LVecBase3f const &b, LVecBase3f const &c, LVecBase3f const &d); inline CollisionPolygon::CollisionPolygon(LPoint3f const *begin, LPoint3f const *end); 520 14 get_num_points 4 601 32 CollisionPolygon::get_num_points 0 1 236 304 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::get_num_points // Access: Published // Description: Returns the number of vertices of the // CollisionPolygon. //////////////////////////////////////////////////////////////////// 56 inline int CollisionPolygon::get_num_points(void) const; 521 9 get_point 4 601 27 CollisionPolygon::get_point 0 1 237 315 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::get_point // Access: Published // Description: Returns the nth vertex of the CollisionPolygon, // expressed in 3-D space. //////////////////////////////////////////////////////////////////// 57 inline LPoint3f CollisionPolygon::get_point(int n) const; 522 13 verify_points 4 601 31 CollisionPolygon::verify_points 0 3 238 239 240 1500 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Published, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Published, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Public, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. // // This does not check that the polygon defined is // convex; that check is made later, once we have // projected the points to 2-d space where the decision // is easier. //////////////////////////////////////////////////////////////////// 325 static inline bool CollisionPolygon::verify_points(LPoint3f const &a, LPoint3f const &b, LPoint3f const &c); static inline bool CollisionPolygon::verify_points(LPoint3f const &a, LPoint3f const &b, LPoint3f const &c, LPoint3f const &d); static bool CollisionPolygon::verify_points(LPoint3f const *begin, LPoint3f const *end); 523 8 is_valid 4 601 26 CollisionPolygon::is_valid 0 1 241 365 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::is_valid // Access: Public // Description: Returns true if the CollisionPolygon is valid // (that is, it has at least three vertices), or false // otherwise. //////////////////////////////////////////////////////////////////// 44 bool CollisionPolygon::is_valid(void) const; 524 10 is_concave 4 601 28 CollisionPolygon::is_concave 0 1 242 334 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::is_concave // Access: Public // Description: Returns true if the CollisionPolygon appears to be // concave, or false if it is safely convex. //////////////////////////////////////////////////////////////////// 46 bool CollisionPolygon::is_concave(void) const; 525 14 get_class_type 4 601 32 CollisionPolygon::get_class_type 0 1 243 0 57 static TypeHandle CollisionPolygon::get_class_type(void); 526 17 ~CollisionPolygon 4 601 35 CollisionPolygon::~CollisionPolygon 0 0 0 42 CollisionPolygon::~CollisionPolygon(void); 527 17 CollisionParabola 4 602 36 CollisionParabola::CollisionParabola 0 2 244 245 1338 // Filename: collisionParabola.I // Created by: drose (11Oct07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::Default Constructor // Access: Published // Description: Creates an invalid parabola. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::Constructor // Access: Published // Description: Creates a parabola with the endpoints between t1 and // t2 in the parametric space of the parabola. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 142 inline CollisionParabola::CollisionParabola(void); inline CollisionParabola::CollisionParabola(Parabolaf const ¶bola, float t1, float t2); 528 12 set_parabola 4 602 31 CollisionParabola::set_parabola 0 1 246 274 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_parabola // Access: Public // Description: Replaces the parabola specified by this solid. //////////////////////////////////////////////////////////////////// 71 inline void CollisionParabola::set_parabola(Parabolaf const ¶bola); 529 12 get_parabola 4 602 31 CollisionParabola::get_parabola 0 1 247 273 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_parabola // Access: Public // Description: Returns the parabola specified by this solid. //////////////////////////////////////////////////////////////////// 68 inline Parabolaf const &CollisionParabola::get_parabola(void) const; 530 6 set_t1 4 602 25 CollisionParabola::set_t1 0 1 248 265 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_t1 // Access: Public // Description: Changes the starting point on the parabola. //////////////////////////////////////////////////////////////////// 48 inline void CollisionParabola::set_t1(float t1); 531 6 get_t1 4 602 25 CollisionParabola::get_t1 0 1 249 265 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_t1 // Access: Public // Description: Returns the starting point on the parabola. //////////////////////////////////////////////////////////////////// 51 inline float CollisionParabola::get_t1(void) const; 532 6 set_t2 4 602 25 CollisionParabola::set_t2 0 1 250 263 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_t2 // Access: Public // Description: Changes the ending point on the parabola. //////////////////////////////////////////////////////////////////// 48 inline void CollisionParabola::set_t2(float t2); 533 6 get_t2 4 602 25 CollisionParabola::get_t2 0 1 251 263 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_t2 // Access: Public // Description: Returns the ending point on the parabola. //////////////////////////////////////////////////////////////////// 51 inline float CollisionParabola::get_t2(void) const; 534 14 get_class_type 4 602 33 CollisionParabola::get_class_type 0 1 252 0 58 static TypeHandle CollisionParabola::get_class_type(void); 535 18 ~CollisionParabola 4 602 37 CollisionParabola::~CollisionParabola 0 0 0 44 CollisionParabola::~CollisionParabola(void); 536 18 CollisionFloorMesh 4 603 38 CollisionFloorMesh::CollisionFloorMesh 0 1 253 1113 //: collisionPlane.I // Created by: drose (25Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Default Constructor // Access: Protected // Description: This is only for the convenience of CollisionPolygon. // Normally, you should not attempt to create an // uninitialized CollisionPlane. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionFloorMesh::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 52 inline CollisionFloorMesh::CollisionFloorMesh(void); 537 10 add_vertex 4 603 30 CollisionFloorMesh::add_vertex 0 1 254 266 //////////////////////////////////////////////////////////////////// // Function: CollisionFloorMesh::add_vertex // Access: Published // Description: store away a vertex to index against //////////////////////////////////////////////////////////////////// 65 inline void CollisionFloorMesh::add_vertex(LPoint3f const &vert); 538 12 add_triangle 4 603 32 CollisionFloorMesh::add_triangle 0 1 255 263 //////////////////////////////////////////////////////////////////// // Function: CollisionFloorMesh::add_triangle // Access: Published // Description: store a triangle for processing //////////////////////////////////////////////////////////////////// 101 void CollisionFloorMesh::add_triangle(unsigned int pointA, unsigned int pointB, unsigned int pointC); 539 16 get_num_vertices 4 603 36 CollisionFloorMesh::get_num_vertices 0 1 256 0 75 inline unsigned int const CollisionFloorMesh::get_num_vertices(void) const; 540 10 get_vertex 4 603 30 CollisionFloorMesh::get_vertex 0 1 257 0 79 inline LPoint3f const CollisionFloorMesh::get_vertex(unsigned int index) const; 541 17 get_num_triangles 4 603 37 CollisionFloorMesh::get_num_triangles 0 1 258 0 76 inline unsigned int const CollisionFloorMesh::get_num_triangles(void) const; 542 12 get_triangle 4 603 32 CollisionFloorMesh::get_triangle 0 1 259 0 81 inline LPoint3d const CollisionFloorMesh::get_triangle(unsigned int index) const; 543 14 get_class_type 4 603 34 CollisionFloorMesh::get_class_type 0 1 260 0 59 static TypeHandle CollisionFloorMesh::get_class_type(void); 544 19 ~CollisionFloorMesh 4 603 39 CollisionFloorMesh::~CollisionFloorMesh 0 0 0 46 CollisionFloorMesh::~CollisionFloorMesh(void); 545 16 CollisionSegment 4 604 34 CollisionSegment::CollisionSegment 0 3 261 262 263 1637 // Filename: collisionSegment.I // Created by: drose (30Jan01) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Default Constructor // Access: Public // Description: Creates an invalid segment. This isn't terribly useful; // it's expected that the user will subsequently adjust // the segment via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 233 inline CollisionSegment::CollisionSegment(void); inline CollisionSegment::CollisionSegment(LPoint3f const &a, LPoint3f const &db); inline CollisionSegment::CollisionSegment(float ax, float ay, float az, float bx, float by, float bz); 546 11 set_point_a 4 604 29 CollisionSegment::set_point_a 0 2 264 265 452 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 131 inline void CollisionSegment::set_point_a(LPoint3f const &a); inline void CollisionSegment::set_point_a(float x, float y, float z); 547 11 get_point_a 4 604 29 CollisionSegment::get_point_a 0 1 266 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::get_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 65 inline LPoint3f const &CollisionSegment::get_point_a(void) const; 548 11 set_point_b 4 604 29 CollisionSegment::set_point_b 0 2 267 268 452 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 131 inline void CollisionSegment::set_point_b(LPoint3f const &b); inline void CollisionSegment::set_point_b(float x, float y, float z); 549 11 get_point_b 4 604 29 CollisionSegment::get_point_b 0 1 269 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::get_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 65 inline LPoint3f const &CollisionSegment::get_point_b(void) const; 550 13 set_from_lens 4 604 31 CollisionSegment::set_from_lens 0 2 270 271 1192 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionSegment so that it begins at // the LensNode's near plane and extends to the // far plane, making it suitable for picking objects // from the screen given a camera and a mouse location. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionSegment so that it begins at // the LensNode's near plane and extends to the // far plane, making it suitable for picking objects // from the screen given a camera and a mouse location. // // Returns true if the point was acceptable, false // otherwise. //////////////////////////////////////////////////////////////////// 161 bool CollisionSegment::set_from_lens(LensNode *camera, LPoint2f const &point); inline bool CollisionSegment::set_from_lens(LensNode *camera, float px, float py); 551 14 get_class_type 4 604 32 CollisionSegment::get_class_type 0 1 272 0 57 static TypeHandle CollisionSegment::get_class_type(void); 552 17 ~CollisionSegment 4 604 35 CollisionSegment::~CollisionSegment 0 0 0 42 CollisionSegment::~CollisionSegment(void); 553 13 CollisionTube 4 605 28 CollisionTube::CollisionTube 0 2 273 274 1480 // Filename: collisionTube.I // Created by: drose (25Sep03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Default constructor // Access: Private // Description: Creates an invalid tube. Only used when reading // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 200 inline CollisionTube::CollisionTube(LPoint3f const &a, LPoint3f const &db, float radius); inline CollisionTube::CollisionTube(float ax, float ay, float az, float bx, float by, float bz, float radius); 554 11 set_point_a 4 605 26 CollisionTube::set_point_a 0 2 275 276 452 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 125 inline void CollisionTube::set_point_a(LPoint3f const &a); inline void CollisionTube::set_point_a(float x, float y, float z); 555 11 get_point_a 4 605 26 CollisionTube::get_point_a 0 1 277 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline LPoint3f const &CollisionTube::get_point_a(void) const; 556 11 set_point_b 4 605 26 CollisionTube::set_point_b 0 2 278 279 452 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 125 inline void CollisionTube::set_point_b(LPoint3f const &b); inline void CollisionTube::set_point_b(float x, float y, float z); 557 11 get_point_b 4 605 26 CollisionTube::get_point_b 0 1 280 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline LPoint3f const &CollisionTube::get_point_b(void) const; 558 10 set_radius 4 605 25 CollisionTube::set_radius 0 1 281 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 inline void CollisionTube::set_radius(float radius); 559 10 get_radius 4 605 25 CollisionTube::get_radius 0 1 282 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 51 inline float CollisionTube::get_radius(void) const; 560 14 get_class_type 4 605 29 CollisionTube::get_class_type 0 1 283 0 54 static TypeHandle CollisionTube::get_class_type(void); 561 14 ~CollisionTube 4 605 29 CollisionTube::~CollisionTube 0 0 0 36 CollisionTube::~CollisionTube(void); 562 19 upcast_to_PandaNode 12 606 40 CollisionVisualizer::upcast_to_PandaNode 0 1 291 44 upcast from CollisionVisualizer to PandaNode 58 PandaNode *CollisionVisualizer::upcast_to_PandaNode(void); 563 31 downcast_to_CollisionVisualizer 12 579 42 PandaNode::downcast_to_CollisionVisualizer 0 1 292 46 downcast from PandaNode to CollisionVisualizer 70 CollisionVisualizer *PandaNode::downcast_to_CollisionVisualizer(void); 564 27 upcast_to_CollisionRecorder 12 606 48 CollisionVisualizer::upcast_to_CollisionRecorder 0 1 293 52 upcast from CollisionVisualizer to CollisionRecorder 74 CollisionRecorder *CollisionVisualizer::upcast_to_CollisionRecorder(void); 565 31 downcast_to_CollisionVisualizer 12 582 50 CollisionRecorder::downcast_to_CollisionVisualizer 0 1 294 54 downcast from CollisionRecorder to CollisionVisualizer 78 CollisionVisualizer *CollisionRecorder::downcast_to_CollisionVisualizer(void); 566 19 CollisionVisualizer 4 606 40 CollisionVisualizer::CollisionVisualizer 0 1 284 231 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 CollisionVisualizer::CollisionVisualizer(basic_string< char > const &name); 567 20 ~CollisionVisualizer 4 606 41 CollisionVisualizer::~CollisionVisualizer 0 0 239 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 56 virtual CollisionVisualizer::~CollisionVisualizer(void); 568 15 set_point_scale 4 606 36 CollisionVisualizer::set_point_scale 0 1 285 741 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::set_point_scale // Access: Published // Description: Scales the points that are drawn to represent the // surface and interior intersection points of the // collisions. By default, these objects are drawn at // an arbitrary scale which is appropriate if the window // units are the default range -1 .. 1. Change this // scale accordinatly if the window units are measured // on some other scale or if you need to observe these // objects in a smaller window. //////////////////////////////////////////////////////////////////// 68 inline void CollisionVisualizer::set_point_scale(float point_scale); 569 15 get_point_scale 4 606 36 CollisionVisualizer::get_point_scale 0 1 286 284 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::get_point_scale // Access: Published // Description: Returns the value last set by set_point_scale(). //////////////////////////////////////////////////////////////////// 62 inline float CollisionVisualizer::get_point_scale(void) const; 570 16 set_normal_scale 4 606 37 CollisionVisualizer::set_normal_scale 0 1 287 685 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::set_normal_scale // Access: Published // Description: Scales the line segments that are drawn to represent // the normals of the collisions. By default, these // objects are drawn at an arbitrary scale which is // appropriate if the scene units are measured in feet. // Change this scale accordinatly if the scene units are // measured on some other scale or if you need to // observe these normals from farther away. //////////////////////////////////////////////////////////////////// 70 inline void CollisionVisualizer::set_normal_scale(float normal_scale); 571 16 get_normal_scale 4 606 37 CollisionVisualizer::get_normal_scale 0 1 288 286 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::get_normal_scale // Access: Published // Description: Returns the value last set by set_normal_scale(). //////////////////////////////////////////////////////////////////// 63 inline float CollisionVisualizer::get_normal_scale(void) const; 572 5 clear 4 606 26 CollisionVisualizer::clear 0 1 289 339 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::clear // Access: Published // Description: Removes all the visualization data from a previous // traversal and resets the visualizer to empty. //////////////////////////////////////////////////////////////////// 38 void CollisionVisualizer::clear(void); 573 14 get_class_type 4 606 35 CollisionVisualizer::get_class_type 0 1 290 0 60 static TypeHandle CollisionVisualizer::get_class_type(void); 294 1 14 Dtool_Hwcaemio 7 3 608 0 14 Dtool_Hwcaemio 0 0 2 14 Dtool_HwcaJNfv 7 7 612 0 14 Dtool_HwcaJNfv 0 1 4 this 3 610 3 14 Dtool_HwcaXfKF 4 8 615 0 14 Dtool_HwcaXfKF 1078 // Filename: collisionSolid.I // Created by: drose (27Jun00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_tangible // Access: Published // Description: Sets the current state of the 'tangible' flag. Set // this true to make the solid tangible, so that a // CollisionHandlerPusher will not allow another object // to intersect it, or false to make it intangible, so // that a CollisionHandlerPusher will ignore it except // to throw an event. //////////////////////////////////////////////////////////////////// 2 4 this 3 613 8 tangible 1 614 4 14 Dtool_HwcaPJ9V 6 9 614 0 14 Dtool_HwcaPJ9V 541 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::is_tangible // Access: Published // Description: Returns whether the solid is considered 'tangible' or // not. An intangible solid has no effect in a // CollisionHandlerPusher (except to throw an event); // it's useful for defining 'trigger' planes and // spheres, that cause an effect when passed through. //////////////////////////////////////////////////////////////////// 1 4 this 3 610 5 14 Dtool_HwcaXl2n 4 10 615 0 14 Dtool_HwcaXl2n 720 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_effective_normal // Access: Published // Description: Records a false normal for this CollisionSolid that // will be reported by the collision system with all // collisions into it, instead of its actual normal. // This is useful as a workaround for the problem of an // avatar wanting to stand on a sloping ground; by // storing a false normal, the ground appears to be // perfectly level, and the avatar does not tend to // slide down it. //////////////////////////////////////////////////////////////////// 2 4 this 3 613 16 effective_normal 1 616 6 14 Dtool_HwcaMg6D 4 11 615 0 14 Dtool_HwcaMg6D 315 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::clear_effective_normal // Access: Published // Description: Removes the normal previously set by // set_effective_normal(). //////////////////////////////////////////////////////////////////// 1 4 this 3 613 7 14 Dtool_HwcaUtHP 6 12 614 0 14 Dtool_HwcaUtHP 337 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::has_effective_normal // Access: Published // Description: Returns true if a special normal was set by // set_effective_normal(), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 610 8 14 Dtool_Hwca8DHC 6 13 616 0 14 Dtool_Hwca8DHC 401 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_effective_normal // Access: Published // Description: Returns the normal that was set by // set_effective_normal(). It is an error to call this // unless has_effective_normal() returns true. //////////////////////////////////////////////////////////////////// 1 4 this 3 610 9 14 Dtool_HwcaBuoM 4 14 615 0 14 Dtool_HwcaBuoM 605 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_respect_effective_normal // Access: Published // Description: This is only meaningful for CollisionSolids that will // be added to a traverser as colliders. It is normally // true, but if set false, it means that this particular // solid does not care about the "effective" normal of // other solids it meets, but rather always uses the // true normal. //////////////////////////////////////////////////////////////////// 2 4 this 3 613 24 respect_effective_normal 1 614 10 14 Dtool_HwcaGbQo 6 15 614 0 14 Dtool_HwcaGbQo 279 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_respect_effective_normal // Access: Published // Description: See set_respect_effective_normal(). //////////////////////////////////////////////////////////////////// 1 4 this 3 610 11 14 Dtool_HwcaipKu 7 16 621 0 14 Dtool_HwcaipKu 262 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::get_bounds // Access: Protected // Description: Returns the solid's bounding volume. //////////////////////////////////////////////////////////////////// 1 4 this 3 610 12 14 Dtool_HwcaEqPP 4 17 615 0 14 Dtool_HwcaEqPP 262 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::set_bounds // Access: Protected // Description: Returns the solid's bounding volume. //////////////////////////////////////////////////////////////////// 2 4 this 3 613 15 bounding_volume 1 621 13 14 Dtool_HwcadFP2 4 18 615 0 14 Dtool_HwcadFP2 227 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::output // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 610 3 out 1 622 14 14 Dtool_HwcatNak 4 19 615 0 14 Dtool_HwcatNak 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::write // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 610 3 out 1 622 12 indent_level 1 624 15 14 Dtool_HwcaSwM3 4 19 615 0 14 Dtool_HwcaSwM3 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSolid::write // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 610 3 out 1 622 16 14 Dtool_HwcaLN1N 7 20 608 0 14 Dtool_HwcaLN1N 0 0 17 14 Dtool_Hwcax_1r 7 23 626 0 14 Dtool_Hwcax_1r 222 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 625 18 14 Dtool_HwcaxXyb 4 24 615 0 14 Dtool_HwcaxXyb 821 // Filename: collisionNode.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_collide_mask // Access: Published // Description: Simultaneously sets both the "from" and "into" // CollideMask values to the same thing. //////////////////////////////////////////////////////////////////// 2 4 this 3 626 4 mask 1 627 19 14 Dtool_HwcajgOW 4 25 615 0 14 Dtool_HwcajgOW 509 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_from_collide_mask // Access: Published // Description: Sets the "from" CollideMask. In order for a // collision to be detected from this object into // another object, the intersection of this object's // "from" mask and the other object's "into" mask must // be nonzero. //////////////////////////////////////////////////////////////////// 2 4 this 3 626 4 mask 1 627 20 14 Dtool_HwcaYvsW 4 26 615 0 14 Dtool_HwcaYvsW 509 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_into_collide_mask // Access: Published // Description: Sets the "into" CollideMask. In order for a // collision to be detected from another object into // this object, the intersection of the other object's // "from" mask and this object's "into" mask must be // nonzero. //////////////////////////////////////////////////////////////////// 2 4 this 3 626 4 mask 1 627 21 14 Dtool_HwcaY8vI 7 27 627 0 14 Dtool_HwcaY8vI 520 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_from_collide_mask // Access: Published // Description: Returns the current "from" CollideMask. In order for // a collision to be detected from this object into // another object, the intersection of this object's // "from" mask and the other object's "into" mask must // be nonzero. //////////////////////////////////////////////////////////////////// 1 4 this 3 629 22 14 Dtool_Hwcax1PJ 7 28 627 0 14 Dtool_Hwcax1PJ 520 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_into_collide_mask // Access: Published // Description: Returns the current "into" CollideMask. In order for // a collision to be detected from another object into // this object, the intersection of the other object's // "from" mask and this object's "into" mask must be // nonzero. //////////////////////////////////////////////////////////////////// 1 4 this 3 629 23 14 Dtool_Hwca7zaG 4 29 615 0 14 Dtool_Hwca7zaG 260 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::clear_solids // Access: Published // Description: Removes all solids from the node. //////////////////////////////////////////////////////////////////// 1 4 this 3 626 24 14 Dtool_HwcaqYJk 6 30 624 0 14 Dtool_HwcaqYJk 228 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_num_solids // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 629 25 14 Dtool_HwcajUdZ 7 31 610 0 14 Dtool_HwcajUdZ 223 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_solid // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 629 1 n 1 624 26 14 Dtool_HwcaWC9z 7 32 613 0 14 Dtool_HwcaWC9z 226 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::modify_solid // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 626 1 n 1 624 27 14 Dtool_HwcaYq_i 4 33 615 0 14 Dtool_HwcaYq_i 268 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_solid // Access: Published // Description: Replaces the solid with the indicated index. //////////////////////////////////////////////////////////////////// 3 4 this 3 626 1 n 1 624 5 solid 1 613 28 14 Dtool_HwcaQ94l 4 34 615 0 14 Dtool_HwcaQ94l 340 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::remove_solid // Access: Published // Description: Removes the solid with the indicated index. This // will shift all subsequent indices down by one. //////////////////////////////////////////////////////////////////// 2 4 this 3 626 1 n 1 624 29 14 Dtool_HwcaQMTj 6 35 624 0 14 Dtool_HwcaQMTj 365 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::add_solid // Access: Published // Description: Adds the indicated solid to the node. Returns the // index of the new solid within the node's list of // solids. //////////////////////////////////////////////////////////////////// 2 4 this 3 626 5 solid 1 610 30 14 Dtool_Hwca72rF 6 36 624 0 14 Dtool_Hwca72rF 350 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_collider_sort // Access: Published // Description: Returns the collider_sort value that has been set for // this particular node. See set_collider_sort(). //////////////////////////////////////////////////////////////////// 1 4 this 3 629 31 14 Dtool_HwcazuN4 4 37 615 0 14 Dtool_HwcazuN4 977 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::set_collider_sort // Access: Published // Description: Sets a particular collider_sort value on this node. // This controls the order in which colliders (that is, // "from nodes") are grouped together for the collision // traversal. // // If there are 32 or fewer colliders added to any // particular CollisionTraverser, then this value has no // meaning. It is only useful if there are many // colliders, which may force the CollisionTraverser to // make multiple passes through the data; in that case, // it may be a useful optimization to group colliders // that have similar bounding volumes together (by // giving them similar sort values). //////////////////////////////////////////////////////////////////// 2 4 this 3 626 4 sort 1 624 32 14 Dtool_HwcavD0G 7 38 627 0 14 Dtool_HwcavD0G 333 //////////////////////////////////////////////////////////////////// // Function: CollisionNode::get_default_collide_mask // Access: Published, Static // Description: Returns the default into_collide_mask assigned to new // CollisionNodes. //////////////////////////////////////////////////////////////////// 0 33 14 Dtool_HwcajzU3 7 39 608 0 14 Dtool_HwcajzU3 0 0 34 14 Dtool_HwcayNSW 7 42 631 329 14 Dtool_HwcayNSW 230 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 625 35 14 Dtool_HwcaLY8j 7 42 631 329 14 Dtool_HwcaLY8j 230 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 36 14 Dtool_Hwcadaty 4 44 615 0 14 Dtool_Hwcadaty 1206 // Filename: collisionTraverser.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::set_respect_prev_transform // Access: Published // Description: Sets the flag that indicates whether the // prev_transform stored on a node (as updated via // set_fluid_pos(), etc.) is respected to calculate // collisions. If this is true, certain types of // collision tests will be enhanced by the information // about objects in motion. If this is false, objects // are always considered to be static. The default is // false. //////////////////////////////////////////////////////////////////// 2 4 this 3 631 4 flag 1 614 37 14 Dtool_HwcalqsH 6 45 614 0 14 Dtool_HwcalqsH 445 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_respect_prev_transform // Access: Published // Description: Returns the flag that indicates whether the // prev_transform stored on a node is respected to // calculate collisions. See // set_respect_prev_transform(). //////////////////////////////////////////////////////////////////// 1 4 this 3 632 38 14 Dtool_Hwca2H3O 4 46 615 0 14 Dtool_Hwca2H3O 779 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::add_collider // Access: Published // Description: Adds a new CollisionNode, representing an object that // will be tested for collisions into other objects, // along with the handler that will serve each detected // collision. Each CollisionNode may be served by only // one handler at a time, but a given handler may serve // many CollisionNodes. // // The handler that serves a particular node may be // changed from time to time by calling add_collider() // again on the same node. //////////////////////////////////////////////////////////////////// 3 4 this 3 631 8 collider 1 634 7 handler 1 637 39 14 Dtool_HwcaM6MA 6 47 614 0 14 Dtool_HwcaM6MA 545 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::remove_collider // Access: Published // Description: Removes the collider (and its associated handler) // from the set of CollisionNodes that will be tested // each frame for collisions into other objects. // Returns true if the definition was found and removed, // false if it wasn't present to begin with. //////////////////////////////////////////////////////////////////// 2 4 this 3 631 8 collider 1 634 40 14 Dtool_HwcaWy10 6 48 614 0 14 Dtool_HwcaWy10 397 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::has_collider // Access: Published // Description: Returns true if the indicated node is current in the // set of nodes that will be tested each frame for // collisions into other objects. //////////////////////////////////////////////////////////////////// 2 4 this 3 632 8 collider 1 634 41 14 Dtool_HwcaO3k0 6 49 624 0 14 Dtool_HwcaO3k0 348 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_num_colliders // Access: Published // Description: Returns the number of CollisionNodes that have been // added to the traverser via add_collider(). //////////////////////////////////////////////////////////////////// 1 4 this 3 632 42 14 Dtool_Hwca8iE2 7 50 638 0 14 Dtool_Hwca8iE2 335 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_collider // Access: Published // Description: Returns the nth CollisionNode that has been // added to the traverser via add_collider(). //////////////////////////////////////////////////////////////////// 2 4 this 3 632 1 n 1 624 43 14 Dtool_HwcaHSoX 7 51 637 296 14 Dtool_HwcaHSoX 417 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_handler // Access: Published // Description: Returns the handler that is currently assigned to // serve the indicated collision node, or NULL if the // node is not on the traverser's set of active nodes. //////////////////////////////////////////////////////////////////// 2 4 this 3 632 8 collider 1 634 44 14 Dtool_Hwcaz8jc 4 52 615 0 14 Dtool_Hwcaz8jc 328 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::clear_colliders // Access: Published // Description: Completely empties the set of collision nodes and // their associated handlers. //////////////////////////////////////////////////////////////////// 1 4 this 3 631 45 14 Dtool_HwcaIgJi 4 53 615 0 14 Dtool_HwcaIgJi 227 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::traverse // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 631 4 root 1 634 46 14 Dtool_HwcahkD3 4 54 615 0 14 Dtool_HwcahkD3 1220 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::set_recorder // Access: Published // Description: Uses the indicated CollisionRecorder object to start // recording the intersection tests made by each // subsequent call to traverse() on this object. A // particular CollisionRecorder object can only record // one traverser at a time; if this object has already // been assigned to another traverser, that assignment // is broken. // // This is intended to be used in a debugging mode to // try to determine what work is being performed by the // collision traversal. Usually, attaching a recorder // will impose significant runtime overhead. // // This does not transfer ownership of the // CollisionRecorder pointer; maintenance of that // remains the caller's responsibility. If the // CollisionRecorder is destructed, it will cleanly // remove itself from the traverser. //////////////////////////////////////////////////////////////////// 2 4 this 3 631 8 recorder 1 639 47 14 Dtool_Hwcakrr7 6 55 614 0 14 Dtool_Hwcakrr7 372 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::has_recorder // Access: Published // Description: Returns true if the CollisionTraverser has a // CollisionRecorder object currently assigned, false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 632 48 14 Dtool_Hwcauo3a 6 56 639 0 14 Dtool_Hwcauo3a 334 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::get_recorder // Access: Published // Description: Returns the CollisionRecorder currently assigned, or // NULL if no recorder is assigned. //////////////////////////////////////////////////////////////////// 1 4 this 3 632 49 14 Dtool_HwcaQmCi 4 57 615 0 14 Dtool_HwcaQmCi 343 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::clear_recorder // Access: Published // Description: Removes the CollisionRecorder from the traverser and // restores normal low-overhead operation. //////////////////////////////////////////////////////////////////// 1 4 this 3 631 50 14 Dtool_HwcadHFN 7 58 640 567 14 Dtool_HwcadHFN 600 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::show_collisions // Access: Published // Description: This is a high-level function to create a // CollisionVisualizer object to render the collision // tests performed by this traverser. The supplied root // should be any node in the scene graph; typically, the // top node (e.g. render). The CollisionVisualizer will // be attached to this node. //////////////////////////////////////////////////////////////////// 2 4 this 3 631 4 root 1 634 51 14 Dtool_HwcaMk_a 4 59 615 0 14 Dtool_HwcaMk_a 310 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::hide_collisions // Access: Published // Description: Undoes the effect of a previous call to // show_collisions(). //////////////////////////////////////////////////////////////////// 1 4 this 3 631 52 14 Dtool_HwcaKrH1 4 60 615 0 14 Dtool_HwcaKrH1 251 // DO_COLLISION_RECORDING //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 632 3 out 1 622 53 14 Dtool_HwcaFI_7 4 61 615 0 14 Dtool_HwcaFI_7 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTraverser::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 632 3 out 1 622 12 indent_level 1 624 54 14 Dtool_HwcaxNmK 7 62 608 0 14 Dtool_HwcaxNmK 0 0 55 14 Dtool_HwcarZlp 4 65 615 0 14 Dtool_HwcarZlp 222 //////////////////////////////////////////////////////////////////// // Function: CollisionRecorder::output // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 641 3 out 1 622 56 14 Dtool_HwcayqSE 7 66 608 0 14 Dtool_HwcayqSE 0 0 57 14 Dtool_HwcaGwYK 7 69 610 0 14 Dtool_HwcaGwYK 331 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from // Access: Published // Description: Returns the CollisionSolid pointer for the particular // solid that triggered this collision. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 58 14 Dtool_HwcauTcn 6 70 614 0 14 Dtool_HwcauTcn 578 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_into // Access: Published // Description: Returns true if the "into" solid is, in fact, a // CollisionSolid, and its pointer is known (in which // case get_into() may be called to retrieve it). If // this returns false, the collision was detected into a // GeomNode, and there is no CollisionSolid pointer to // be retrieved. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 59 14 Dtool_HwcaGQba 7 71 610 0 14 Dtool_HwcaGQba 515 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into // Access: Published // Description: Returns the CollisionSolid pointer for the particular // solid was collided into. This pointer might be NULL // if the collision was into a piece of visible // geometry, instead of a normal CollisionSolid // collision; see has_into(). //////////////////////////////////////////////////////////////////// 1 4 this 3 643 60 14 Dtool_Hwcae4xC 7 72 626 0 14 Dtool_Hwcae4xC 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from_node // Access: Published // Description: Returns the node that contains the CollisionSolid // that triggered this collision. This will be a node // that has been added to a CollisionTraverser via // add_collider(). //////////////////////////////////////////////////////////////////// 1 4 this 3 643 61 14 Dtool_Hwca_40S 7 73 645 0 14 Dtool_Hwca_40S 532 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into_node // Access: Published // Description: Returns the node that contains the CollisionSolid // that was collided into. This returns a PandaNode // pointer instead of something more specific, because // it might be either a CollisionNode or a GeomNode. // // Also see get_into_node_path(). //////////////////////////////////////////////////////////////////// 1 4 this 3 643 62 14 Dtool_HwcacMQX 7 74 638 0 14 Dtool_HwcacMQX 509 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_from_node_path // Access: Published // Description: Returns the NodePath that represents the // CollisionNode that contains the CollisionSolid that // triggered this collision. This will be a NodePath // that has been added to a CollisionTraverser via // add_collider(). //////////////////////////////////////////////////////////////////// 1 4 this 3 643 63 14 Dtool_Hwca83Sn 7 75 638 0 14 Dtool_Hwca83Sn 651 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_into_node_path // Access: Published // Description: Returns the NodePath that represents the specific // CollisionNode or GeomNode instance that was collided // into. This is the same node returned by // get_into_node(), represented as a NodePath; however, // it may be more useful because the NodePath can // resolve the particular instance of the node, if there // is more than one. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 64 14 Dtool_Hwcapr2_ 4 76 615 0 14 Dtool_Hwcapr2_ 309 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_t // Access: Published // Description: Sets a time value for this collision relative to // other CollisionEntries //////////////////////////////////////////////////////////////////// 2 4 this 3 646 1 t 1 647 65 14 Dtool_HwcaOGlN 6 77 647 0 14 Dtool_HwcaOGlN 310 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_t // Access: Published // Description: returns time value for this collision relative to // other CollisionEntries //////////////////////////////////////////////////////////////////// 1 4 this 3 643 66 14 Dtool_Hwca_RB_ 6 78 614 0 14 Dtool_Hwca_RB_ 446 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::collided // Access: Published // Description: returns true if this represents an actual collision // as opposed to a potential collision, needed for // iterative collision resolution where path of // collider changes mid-frame //////////////////////////////////////////////////////////////////// 1 4 this 3 643 67 14 Dtool_HwcaZ2MC 4 79 615 0 14 Dtool_HwcaZ2MC 264 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::reset_collided // Access: Published // Description: prepare for another collision test //////////////////////////////////////////////////////////////////// 1 4 this 3 646 68 14 Dtool_HwcaRUDs 6 80 614 0 14 Dtool_HwcaRUDs 479 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_respect_prev_transform // Access: Published // Description: Returns true if the collision was detected by a // CollisionTraverser whose respect_prev_transform // flag was set true, meaning we should consider motion // significant in evaluating collisions. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 69 14 Dtool_HwcahJuh 4 81 615 0 14 Dtool_HwcahJuh 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_surface_point // Access: Published // Description: Stores the point, on the surface of the "into" // object, at which a collision is detected. // // This point is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 2 4 this 3 646 5 point 1 648 70 14 Dtool_HwcaSvQs 4 82 615 0 14 Dtool_HwcaSvQs 439 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_surface_normal // Access: Published // Description: Stores the surface normal of the "into" object at the // point of the intersection. // // This normal is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 2 4 this 3 646 6 normal 1 616 71 14 Dtool_HwcaIgiu 4 83 615 0 14 Dtool_HwcaIgiu 682 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_interior_point // Access: Published // Description: Stores the point, within the interior of the "into" // object, which represents the depth to which the // "from" object has penetrated. This can also be // described as the intersection point on the surface of // the "from" object (which is inside the "into" // object). // // This point is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 2 4 this 3 646 5 point 1 648 72 14 Dtool_HwcaIa3H 6 84 614 0 14 Dtool_HwcaIa3H 441 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_surface_point // Access: Published // Description: Returns true if the surface point has been specified, // false otherwise. See get_surface_point(). Some // types of collisions may not compute the surface // point. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 73 14 Dtool_HwcaX6_A 6 85 614 0 14 Dtool_HwcaX6_A 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_surface_normal // Access: Published // Description: Returns true if the surface normal has been specified, // false otherwise. See get_surface_normal(). Some // types of collisions may not compute the surface // normal. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 74 14 Dtool_HwcaoXP3 6 86 614 0 14 Dtool_HwcaoXP3 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_interior_point // Access: Published // Description: Returns true if the interior point has been specified, // false otherwise. See get_interior_point(). Some // types of collisions may not compute the interior // point. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 75 14 Dtool_HwcaJFb5 4 87 615 0 14 Dtool_HwcaJFb5 455 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_contact_pos // Access: Published // Description: Stores the position of the "from" object at the // instant at which the collision is first detected. // // This position is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 2 4 this 3 646 3 pos 1 648 76 14 Dtool_Hwcafp9z 4 88 615 0 14 Dtool_Hwcafp9z 425 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::set_contact_normal // Access: Published // Description: Stores the surface normal of the "into" object at the // contact pos. // // This normal is specified in the coordinate space of // the "into" object. //////////////////////////////////////////////////////////////////// 2 4 this 3 646 6 normal 1 616 77 14 Dtool_HwcaA_VR 6 89 614 0 14 Dtool_HwcaA_VR 438 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_contact_pos // Access: Published // Description: Returns true if the contact position has been specified, // false otherwise. See get_contact_pos(). Some // types of collisions may not compute the contact // pos. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 78 14 Dtool_Hwcac8rI 6 90 614 0 14 Dtool_Hwcac8rI 445 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::has_contact_normal // Access: Published // Description: Returns true if the contact normal has been specified, // false otherwise. See get_contact_normal(). Some // types of collisions may not compute the contact // normal. //////////////////////////////////////////////////////////////////// 1 4 this 3 643 79 14 Dtool_HwcahuLD 7 91 612 0 14 Dtool_HwcahuLD 638 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_surface_point // Access: Published // Description: Returns the point, on the surface of the "into" // object, at which a collision is detected. This can // be thought of as the first point of intersection. // However the contact point is the actual first point of // intersection. // // The point will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 2 4 this 3 643 5 space 1 634 80 14 Dtool_Hwcab0T_ 7 92 650 0 14 Dtool_Hwcab0T_ 465 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_surface_normal // Access: Published // Description: Returns the surface normal of the "into" object at // the point at which a collision is detected. // // The normal will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 2 4 this 3 643 5 space 1 634 81 14 Dtool_HwcaBjl0 7 93 612 0 14 Dtool_HwcaBjl0 772 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_interior_point // Access: Published // Description: Returns the point, within the interior of the "into" // object, which represents the depth to which the // "from" object has penetrated. This can also be // described as the intersection point on the surface of // the "from" object (which is inside the "into" // object). It can be thought of as the deepest point // of intersection. // // The point will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 2 4 this 3 643 5 space 1 634 82 14 Dtool_Hwca_a_e 6 94 614 0 14 Dtool_Hwca_a_e 515 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_all // Access: Published // Description: Simultaneously transforms the surface point, surface // normal, and interior point of the collision into the // indicated coordinate space. // // Returns true if all three properties are available, // or false if any one of them is not. //////////////////////////////////////////////////////////////////// 5 4 this 3 643 5 space 1 634 13 surface_point 1 612 14 surface_normal 1 650 14 interior_point 1 612 83 14 Dtool_Hwca2U26 7 95 612 0 14 Dtool_Hwca2U26 462 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_contact_pos // Access: Published // Description: Returns the position of the "from" object at the instant // that a collision is first detected. // // The position will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 2 4 this 3 643 5 space 1 634 84 14 Dtool_HwcaM8_F 7 96 650 0 14 Dtool_HwcaM8_F 443 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_contact_normal // Access: Published // Description: Returns the surface normal of the "into" object at // the contact position. // // The normal will be converted into whichever coordinate // space the caller specifies. //////////////////////////////////////////////////////////////////// 2 4 this 3 643 5 space 1 634 85 14 Dtool_HwcamWGz 6 97 614 0 14 Dtool_HwcamWGz 514 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::get_all_contact_info // Access: Published // Description: Simultaneously transforms the contact position and // contact normal of the collision into the // indicated coordinate space. // // Returns true if all three properties are available, // or false if any one of them is not. //////////////////////////////////////////////////////////////////// 4 4 this 3 643 5 space 1 634 11 contact_pos 1 612 14 contact_normal 1 650 86 14 Dtool_HwcawXJC 4 98 615 0 14 Dtool_HwcawXJC 222 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 643 3 out 1 622 87 14 Dtool_Hwca2JVw 4 99 615 0 14 Dtool_Hwca2JVw 221 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 643 3 out 1 622 12 indent_level 1 624 88 14 Dtool_HwcaJrFD 4 99 615 0 14 Dtool_HwcaJrFD 221 //////////////////////////////////////////////////////////////////// // Function: CollisionEntry::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 643 3 out 1 622 89 14 Dtool_HwcaSIuZ 7 100 608 0 14 Dtool_HwcaSIuZ 0 0 90 14 Dtool_HwcaETvw 7 103 651 403 14 Dtool_HwcaETvw 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::Constructor // Access: Public // Description: The default CollisionHandlerEvent will throw no // events. Its pattern strings must first be set via a // call to add_in_pattern() and/or add_out_pattern(). //////////////////////////////////////////////////////////////////// 0 91 14 Dtool_HwcaS2HY 4 104 615 0 14 Dtool_HwcaS2HY 323 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_in_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_in_pattern. //////////////////////////////////////////////////////////////////// 1 4 this 3 651 92 14 Dtool_Hwca_2Bj 4 105 615 0 14 Dtool_Hwca_2Bj 2355 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_in_pattern // Access: Public // Description: Adds a pattern string to the list of events that will // be generated in response to a collision. The pattern // string describes how the event name will be composed. // It is a string that may contain any of the following: // // %fn - the name of the "from" object's node // %in - the name of the "into" object's node // %fs - 't' if "from" is tangible, 'i' if intangible // %is - 't' if "into" is tangible, 'i' if intangible // %ig - 'c' if the collision is into a // CollisionNode, 'g' if it is a geom. // // %(tag)fh - generate event only if "from" node has // the indicated net tag. // %(tag)fx - generate event only if "from" node does // not have the indicated net tag. // %(tag)ih - generate event only if "into" node has // the indicated net tag. // %(tag)ix - generate event only if "into" node does // not have the indicated net tag. // %(tag)ft - the indicated net tag value of the "from" node. // %(tag)it - the indicated net tag value of the "into" node. // // Parentheses in the above are literal and should be // included in the actual pattern. // // The event name will be based on the in_pattern // string specified here, with all occurrences of the // above strings replaced with the corresponding values. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 10 in_pattern 1 625 93 14 Dtool_HwcakSzo 4 106 615 0 14 Dtool_HwcakSzo 395 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_in_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 10 in_pattern 1 625 94 14 Dtool_Hwcac0hf 6 107 624 0 14 Dtool_Hwcac0hf 318 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_in_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 1 4 this 3 652 95 14 Dtool_HwcalCzc 6 108 625 0 14 Dtool_HwcalCzc 399 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_in_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_in_pattern(). //////////////////////////////////////////////////////////////////// 2 4 this 3 652 1 n 1 624 96 14 Dtool_Hwcaf7gg 4 109 615 0 14 Dtool_Hwcaf7gg 329 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_again_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_again_pattern. //////////////////////////////////////////////////////////////////// 1 4 this 3 651 97 14 Dtool_HwcaUwhr 4 110 615 0 14 Dtool_HwcaUwhr 1055 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_again_pattern // Access: Public // Description: Adds the pattern string that indicates how the event // names are generated when a collision between two // particular nodes is *still* detected. This event is // thrown each consecutive time a collision between two // particular nodes is detected, starting with the // second time. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 13 again_pattern 1 625 98 14 Dtool_HwcaGYTx 4 111 615 0 14 Dtool_HwcaGYTx 398 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_again_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 13 again_pattern 1 625 99 14 Dtool_Hwcati_4 6 112 624 0 14 Dtool_Hwcati_4 321 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_again_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 1 4 this 3 652 100 14 Dtool_HwcaeNwh 6 113 625 0 14 Dtool_HwcaeNwh 405 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_again_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_again_pattern(). //////////////////////////////////////////////////////////////////// 2 4 this 3 652 1 n 1 624 101 14 Dtool_HwcajRM0 4 114 615 0 14 Dtool_HwcajRM0 325 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear_out_patterns // Access: Public // Description: Removes all of the previously-added in patterns. See // add_out_pattern. //////////////////////////////////////////////////////////////////// 1 4 this 3 651 102 14 Dtool_HwcaLN0g 4 115 615 0 14 Dtool_HwcaLN0g 877 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::add_out_pattern // Access: Public // Description: Adds the pattern string that indicates how the event // names are generated when a collision between two // particular nodes is *no longer* detected. // // In general, the in_pattern event is thrown on the // first detection of a collision between two particular // nodes. In subsequent passes, as long as a collision // between those two nodes continues to be detected each // frame, the again_pattern is thrown. The first frame // in which the collision is no longer detected, the // out_pattern event is thrown. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 11 out_pattern 1 625 103 14 Dtool_HwcanKnm 4 116 615 0 14 Dtool_HwcanKnm 396 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::set_out_pattern // Access: Public // Description: This method is deprecated; it completely replaces all // the in patterns that have previously been set with // the indicated pattern. //////////////////////////////////////////////////////////////////// 2 4 this 3 651 11 out_pattern 1 625 104 14 Dtool_HwcaClvc 6 117 624 0 14 Dtool_HwcaClvc 319 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_num_out_patterns // Access: Public // Description: Returns the number of in pattern strings that have // been added. //////////////////////////////////////////////////////////////////// 1 4 this 3 652 105 14 Dtool_HwcaOFH_ 6 118 625 0 14 Dtool_HwcaOFH_ 401 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::get_out_pattern // Access: Public // Description: Returns the nth pattern string that indicates how the // event names are generated for each collision // detected. See add_out_pattern(). //////////////////////////////////////////////////////////////////// 2 4 this 3 652 1 n 1 624 106 14 Dtool_HwcavtnS 4 119 615 0 14 Dtool_HwcavtnS 887 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::clear // Access: Public // Description: Empties the list of elements that all colliders are // known to be colliding with. No "out" events will be // thrown; if the same collision is detected next frame, // a new "in" event will be thrown for each collision. // // This can be called each frame to defeat the // persistent "in" event mechanism, which prevents the // same "in" event from being thrown repeatedly. // However, also see add_again_pattern(), which can be // used to set the event that is thrown when a collision // is detected for two or more consecutive frames. //////////////////////////////////////////////////////////////////// 1 4 this 3 651 107 14 Dtool_HwcanPG9 4 120 615 0 14 Dtool_HwcanPG9 272 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::flush // Access: Public // Description: Same as clear() except "out" events are thrown. //////////////////////////////////////////////////////////////////// 1 4 this 3 651 108 14 Dtool_HwcaYcqn 7 121 608 0 14 Dtool_HwcaYcqn 0 0 109 14 Dtool_HwcaETBI 7 124 654 406 14 Dtool_HwcaETBI 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerEvent::Constructor // Access: Public // Description: The default CollisionHandlerEvent will throw no // events. Its pattern strings must first be set via a // call to add_in_pattern() and/or add_out_pattern(). //////////////////////////////////////////////////////////////////// 0 110 14 Dtool_HwcaGCHT 7 125 608 0 14 Dtool_HwcaGCHT 0 0 111 14 Dtool_HwcaGz2x 4 128 615 0 14 Dtool_HwcaGz2x 452 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::add_collider // Access: Published // Description: Adds a new collider to the list with a NodePath // that will be updated with the collider's new // position, or updates the existing collider with a new // NodePath object. //////////////////////////////////////////////////////////////////// 3 4 this 3 655 8 collider 1 634 6 target 1 634 112 14 Dtool_HwcainQs 4 128 615 0 14 Dtool_HwcainQs 705 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::add_collider // Access: Published // Description: Adds a new collider to the list with a NodePath // that will be updated with the collider's new // position, or updates the existing collider with a new // NodePath object. // // The indicated DriveInterface will also be updated // with the target's new transform each frame. This // method should be used when the target is directly // controlled by a DriveInterface. //////////////////////////////////////////////////////////////////// 4 4 this 3 655 8 collider 1 634 6 target 1 634 15 drive_interface 1 656 113 14 Dtool_Hwca8hFg 6 129 614 0 14 Dtool_Hwca8hFg 336 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::remove_collider // Access: Published // Description: Removes the collider from the list of colliders that // this handler knows about. //////////////////////////////////////////////////////////////////// 2 4 this 3 655 8 collider 1 634 114 14 Dtool_HwcatNFK 6 130 614 0 14 Dtool_HwcatNFK 335 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_collider // Access: Published // Description: Returns true if the handler knows about the indicated // collider, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 658 8 collider 1 634 115 14 Dtool_HwcaUoUz 4 131 615 0 14 Dtool_HwcaUoUz 324 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::clear_colliders // Access: Published // Description: Completely empties the list of colliders this handler // knows about. //////////////////////////////////////////////////////////////////// 1 4 this 3 655 116 14 Dtool_Hwca9CVE 4 132 615 0 14 Dtool_Hwca9CVE 1053 // Filename: collisionHandlerPhysical.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::set_center // Access: Published // Description: Specifies an arbitrary NodePath that the handler is // always considered to be facing. It does not detect // collisions with surfaces that appear to be facing // away from this NodePath. This works best when the // collision surfaces in question are polygons. //////////////////////////////////////////////////////////////////// 2 4 this 3 655 6 center 1 634 117 14 Dtool_HwcaRo9a 4 133 615 0 14 Dtool_HwcaRo9a 291 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::clear_center // Access: Published // Description: Clears the center NodePath specified with set_center. //////////////////////////////////////////////////////////////////// 1 4 this 3 655 118 14 Dtool_Hwca_dUV 6 134 634 0 14 Dtool_Hwca_dUV 353 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::get_center // Access: Published // Description: Returns the NodePath specified with set_center, or // the empty NodePath if nothing has been specified. //////////////////////////////////////////////////////////////////// 1 4 this 3 658 119 14 Dtool_Hwcaf3XJ 6 135 614 0 14 Dtool_Hwcaf3XJ 334 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_center // Access: Published // Description: Returns true if a NodePath has been specified with // set_center(), false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 658 120 14 Dtool_HwcaA0o_ 6 136 614 0 14 Dtool_HwcaA0o_ 537 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPhysical::has_contact // Access: Public // Description: Did the handler make any contacts with anything // on the last collision pass? Depending on how your // world is setup, this can be used to tell if the // handler is out of the world (i.e. out of bounds). // That is the original use of this call. //////////////////////////////////////////////////////////////////// 1 4 this 3 658 121 14 Dtool_HwcaNl13 7 137 608 0 14 Dtool_HwcaNl13 0 0 122 14 Dtool_Hwca3EUx 7 139 660 403 14 Dtool_Hwca3EUx 230 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 123 14 Dtool_Hwca3NQk 4 140 615 0 14 Dtool_Hwca3NQk 910 // Filename: collisionHandlerFloor.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_offset // Access: Public // Description: Sets the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 2 4 this 3 660 6 offset 1 647 124 14 Dtool_HwcaG9Un 6 141 647 0 14 Dtool_HwcaG9Un 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_offset // Access: Public // Description: Returns the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 1 4 this 3 661 125 14 Dtool_HwcaLik1 4 142 615 0 14 Dtool_HwcaLik1 317 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_reach // Access: Public // Description: Sets the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 2 4 this 3 660 5 reach 1 647 126 14 Dtool_HwcaTc80 6 143 647 0 14 Dtool_HwcaTc80 320 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_reach // Access: Public // Description: Returns the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 1 4 this 3 661 127 14 Dtool_Hwca4LRc 4 144 615 0 14 Dtool_Hwca4LRc 469 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::set_max_velocity // Access: Public // Description: Sets the maximum speed at which the object will be // allowed to descend towards a floor below it, in units // per second. Set this to zero to allow it to // instantly teleport any distance. //////////////////////////////////////////////////////////////////// 2 4 this 3 660 7 max_vel 1 647 128 14 Dtool_HwcaS6Z5 6 145 647 0 14 Dtool_HwcaS6Z5 416 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFloor::get_max_velocity // Access: Public // Description: Retrieves the maximum speed at which the object will // be allowed to descend towards a floor below it, in // units per second. See set_max_velocity(). //////////////////////////////////////////////////////////////////// 1 4 this 3 661 129 14 Dtool_HwcaHYw3 7 146 608 0 14 Dtool_HwcaHYw3 0 0 130 14 Dtool_Hwcay_jT 7 148 663 403 14 Dtool_Hwcay_jT 232 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 131 14 Dtool_Hwca5C9R 4 149 615 0 14 Dtool_Hwca5C9R 914 // Filename: CollisionHandlerGravity.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_offset // Access: Public // Description: Sets the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 2 4 this 3 663 6 offset 1 647 132 14 Dtool_Hwcau78c 6 150 647 0 14 Dtool_Hwcau78c 418 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_offset // Access: Public // Description: Returns the linear offset to add to (or subtract from) // the highest detected collision point to determine the // actual height at which to set the collider. //////////////////////////////////////////////////////////////////// 1 4 this 3 664 133 14 Dtool_HwcaV1C6 4 151 615 0 14 Dtool_HwcaV1C6 319 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_reach // Access: Public // Description: Sets the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 2 4 this 3 663 5 reach 1 647 134 14 Dtool_Hwca22RV 6 152 647 0 14 Dtool_Hwca22RV 322 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_reach // Access: Public // Description: Returns the reach to add to (or subtract from) // the highest collision point //////////////////////////////////////////////////////////////////// 1 4 this 3 664 135 14 Dtool_HwcalkVy 6 153 647 0 14 Dtool_HwcalkVy 527 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_airborne_height // Access: Public // Description: Return the height of the object from the ground. // // The object might not necessarily be at rest. Use // is_on_ground() if you want to know whether the // object is on the ground and at rest. // // See Also: is_in_outer_space() //////////////////////////////////////////////////////////////////// 1 4 this 3 664 136 14 Dtool_HwcaI07o 6 154 614 0 14 Dtool_HwcaI07o 256 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::is_on_ground // Access: Public // Description: Is the object at rest? //////////////////////////////////////////////////////////////////// 1 4 this 3 664 137 14 Dtool_HwcabFxY 6 155 647 0 14 Dtool_HwcabFxY 586 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_impact_velocity // Access: Public // Description: How hard did the object hit the ground. // This value is set on impact with the ground. // You may want to watch (poll) on is_on_groun() and // when that is true, call get_impact_velocity(). // Normally I avoid polling, but we are calling // is_on_ground() frequently anyway. //////////////////////////////////////////////////////////////////// 1 4 this 3 664 138 14 Dtool_HwcaKQo4 6 156 616 0 14 Dtool_HwcaKQo4 240 //////////////////////////////////////////////////////////////////// // Function : CollisionHandlerGravity::get_contact_normal // Access : Public // Description : //////////////////////////////////////////////////////////////////// 1 4 this 3 664 139 14 Dtool_Hwcawddg 4 157 615 0 14 Dtool_Hwcawddg 451 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::add_velocity // Access: Public // Description: Adds the sepcified amount to the current velocity. // This is mostly here allow this common operation to // be faster for scripting, but it's also more concise // even in cpp. //////////////////////////////////////////////////////////////////// 2 4 this 3 663 8 velocity 1 647 140 14 Dtool_HwcaXI_M 4 158 615 0 14 Dtool_HwcaXI_M 269 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_velocity // Access: Public // Description: Sets the current vertical velocity. //////////////////////////////////////////////////////////////////// 2 4 this 3 663 8 velocity 1 647 141 14 Dtool_HwcarnWU 6 159 647 0 14 Dtool_HwcarnWU 681 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_velocity // Access: Public // Description: Gets the current vertical velocity. // // Generally, negative values mean the object is in // free fall; while postive values mean the object has // vertical thrust. // // A zero value does not necessarily mean the object // on the ground, it may also be weightless and/or at // the apex of its jump. // // See Also: is_on_ground() and get_gravity() //////////////////////////////////////////////////////////////////// 1 4 this 3 664 142 14 Dtool_HwcamWBh 4 160 615 0 14 Dtool_HwcamWBh 278 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_gravity // Access: Public // Description: Sets the linear gravity force (always plumb). //////////////////////////////////////////////////////////////////// 2 4 this 3 663 7 gravity 1 647 143 14 Dtool_HwcamZKk 6 161 647 0 14 Dtool_HwcamZKk 278 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_gravity // Access: Public // Description: Gets the linear gravity force (always plumb). //////////////////////////////////////////////////////////////////// 1 4 this 3 664 144 14 Dtool_Hwcakg9z 4 162 615 0 14 Dtool_Hwcakg9z 471 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_max_velocity // Access: Public // Description: Sets the maximum speed at which the object will be // allowed to descend towards a floor below it, in units // per second. Set this to zero to allow it to // instantly teleport any distance. //////////////////////////////////////////////////////////////////// 2 4 this 3 663 7 max_vel 1 647 145 14 Dtool_HwcalxjB 6 163 647 0 14 Dtool_HwcalxjB 418 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_max_velocity // Access: Public // Description: Retrieves the maximum speed at which the object will // be allowed to descend towards a floor below it, in // units per second. See set_max_velocity(). //////////////////////////////////////////////////////////////////// 1 4 this 3 664 146 14 Dtool_HwcaFwa9 4 164 615 0 14 Dtool_HwcaFwa9 517 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::set_legacy_mode // Access: Public // Description: Enables old behavior required by Toontown // (Sellbot Factory lava room is good test case, // lava and conveyor belt specifically). Behavior // is to throw enter/exit events only for floor // that the toon is in contact with //////////////////////////////////////////////////////////////////// 2 4 this 3 663 11 legacy_mode 1 614 147 14 Dtool_Hwca00fZ 6 165 614 0 14 Dtool_Hwca00fZ 275 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerGravity::get_legacy_mode // Access: Public // Description: returns true if legacy mode is enabled //////////////////////////////////////////////////////////////////// 1 4 this 3 664 148 14 Dtool_HwcaJ2aU 7 166 608 0 14 Dtool_HwcaJ2aU 0 0 149 14 Dtool_HwcaOYFg 7 168 666 403 14 Dtool_HwcaOYFg 231 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 150 14 Dtool_HwcaLy7k 4 169 615 0 14 Dtool_HwcaLy7k 732 // Filename: collisionHandlerPusher.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::set_horizontal // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 666 4 flag 1 614 151 14 Dtool_Hwca9VDN 6 170 614 0 14 Dtool_Hwca9VDN 234 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerPusher::get_horizontal // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 667 152 14 Dtool_HwcaQVou 7 171 608 0 14 Dtool_HwcaQVou 0 0 153 14 Dtool_HwcaMshf 7 173 669 450 14 Dtool_HwcaMshf 236 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerFluidPusher::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 154 14 Dtool_Hwcax8qp 7 174 608 0 14 Dtool_Hwcax8qp 0 0 155 14 Dtool_HwcaQGY4 7 177 670 459 14 Dtool_HwcaQGY4 233 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 156 14 Dtool_Hwca4_OE 4 178 615 0 14 Dtool_Hwca4_OE 540 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::sort_entries // Access: Published // Description: Sorts all the detected collisions front-to-back by // from_intersection_point() so that those intersection // points closest to the collider's origin (e.g., the // center of the CollisionSphere, or the point_a of a // CollisionSegment) appear first. //////////////////////////////////////////////////////////////////// 1 4 this 3 670 157 14 Dtool_HwcaZKav 4 179 615 0 14 Dtool_HwcaZKav 275 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::clear_entries // Access: Published // Description: Removes all the entries from the queue. //////////////////////////////////////////////////////////////////// 1 4 this 3 670 158 14 Dtool_Hwca0Ndh 6 180 624 0 14 Dtool_Hwca0Ndh 313 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::get_num_entries // Access: Published // Description: Returns the number of CollisionEntries detected last // pass. //////////////////////////////////////////////////////////////////// 1 4 this 3 671 159 14 Dtool_HwcabEk_ 7 181 646 383 14 Dtool_HwcabEk_ 282 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::get_entry // Access: Published // Description: Returns the nth CollisionEntry detected last pass. //////////////////////////////////////////////////////////////////// 2 4 this 3 671 1 n 1 624 160 14 Dtool_HwcaLz1_ 4 182 615 0 14 Dtool_HwcaLz1_ 229 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 671 3 out 1 622 161 14 Dtool_HwcaSF0h 4 183 615 0 14 Dtool_HwcaSF0h 228 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 671 3 out 1 622 12 indent_level 1 624 162 14 Dtool_Hwcaz930 4 183 615 0 14 Dtool_Hwcaz930 228 //////////////////////////////////////////////////////////////////// // Function: CollisionHandlerQueue::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 671 3 out 1 622 163 14 Dtool_Hwcamngh 7 184 608 0 14 Dtool_Hwcamngh 0 0 164 14 Dtool_Hwca8O4O 7 187 676 478 14 Dtool_Hwca8O4O 756 // Filename: collisionDSSolid.I // Created by: Dave Schuyler (05Apr06) // Based on collision tube by: drose // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Collision::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 6 8 center_a 1 648 8 radius_a 1 647 8 center_b 1 648 8 radius_b 1 647 7 plane_a 1 673 7 plane_b 1 673 165 14 Dtool_HwcaNQ4w 7 187 676 478 14 Dtool_HwcaNQ4w 225 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 10 2 ax 1 647 2 ay 1 647 2 az 1 647 8 radius_a 1 647 2 bx 1 647 2 by 1 647 2 bz 1 647 8 radius_b 1 647 7 plane_a 1 673 7 plane_b 1 673 166 14 Dtool_Hwca_cHU 4 188 615 0 14 Dtool_Hwca_cHU 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 6 center 1 648 167 14 Dtool_HwcaNxLO 4 188 615 0 14 Dtool_HwcaNxLO 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 676 1 x 1 647 1 y 1 647 1 z 1 647 168 14 Dtool_Hwca5WSk 6 189 648 0 14 Dtool_Hwca5WSk 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_center_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 169 14 Dtool_HwcaLyHI 4 190 615 0 14 Dtool_HwcaLyHI 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_radius_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 6 radius 1 647 170 14 Dtool_Hwca6YRd 6 191 647 0 14 Dtool_Hwca6YRd 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_radius_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 171 14 Dtool_HwcaM5KU 4 192 615 0 14 Dtool_HwcaM5KU 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 6 center 1 648 172 14 Dtool_Hwca_dOO 4 192 615 0 14 Dtool_Hwca_dOO 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 676 1 x 1 647 1 y 1 647 1 z 1 647 173 14 Dtool_Hwca3yUk 6 193 648 0 14 Dtool_Hwca3yUk 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_center_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 174 14 Dtool_HwcaVWJI 4 194 615 0 14 Dtool_HwcaVWJI 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_radius_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 6 radius 1 647 175 14 Dtool_HwcaoETd 6 195 647 0 14 Dtool_HwcaoETd 226 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_radius_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 176 14 Dtool_Hwca64jl 7 196 650 0 14 Dtool_Hwca64jl 229 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_normal_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 177 14 Dtool_Hwca6n8e 6 197 647 0 14 Dtool_Hwca6n8e 232 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::dist_to_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 677 5 point 1 648 178 14 Dtool_HwcahqKu 4 198 615 0 14 Dtool_HwcahqKu 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 5 plane 1 673 179 14 Dtool_HwcaBRiQ 6 199 673 0 14 Dtool_HwcaBRiQ 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_plane_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 180 14 Dtool_Hwcascml 7 200 650 0 14 Dtool_Hwcascml 229 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_normal_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 181 14 Dtool_HwcaOksA 6 201 647 0 14 Dtool_HwcaOksA 232 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::dist_to_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 677 5 point 1 648 182 14 Dtool_HwcaolKK 4 202 615 0 14 Dtool_HwcaolKK 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::set_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 676 5 plane 1 673 183 14 Dtool_HwcaJWis 6 203 673 0 14 Dtool_HwcaJWis 228 //////////////////////////////////////////////////////////////////// // Function: CollisionDSSolid::get_plane_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 677 184 14 Dtool_Hwcavcoe 7 204 608 0 14 Dtool_Hwcavcoe 0 0 185 14 Dtool_Hwca3_2E 7 207 679 490 14 Dtool_Hwca3_2E 270 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Create the Box by Specifying the Diagonal Points //////////////////////////////////////////////////////////////////// 2 3 min 1 648 3 max 1 648 186 14 Dtool_Hwca953K 7 207 679 490 14 Dtool_Hwca953K 828 // Filename: collisionBox.I // Created by: amith tudur (31Jul09) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Create the Box by giving a Center and distances of // of each of the sides of box from the Center. //////////////////////////////////////////////////////////////////// 4 6 center 1 648 1 x 1 647 1 y 1 647 1 z 1 647 187 14 Dtool_HwcalisG 7 207 679 490 14 Dtool_HwcalisG 265 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::Constructor // Access: Public // Description: Center as three separate co-ordinate points //////////////////////////////////////////////////////////////////// 6 2 cx 1 647 2 cy 1 647 2 cz 1 647 1 x 1 647 1 y 1 647 1 z 1 647 188 14 Dtool_HwcavU6t 6 208 624 0 14 Dtool_HwcavU6t 285 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_num_points // Access: Published // Description: Returns 8: the number of vertices of a rectangular solid. //////////////////////////////////////////////////////////////////// 1 4 this 3 680 189 14 Dtool_HwcayT6s 7 209 612 0 14 Dtool_HwcayT6s 284 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_point_aabb // Access: Published // Description: Returns the nth vertex of the Axis Aligned Bounding Box. //////////////////////////////////////////////////////////////////// 2 4 this 3 680 1 n 1 624 190 14 Dtool_HwcaxrYP 7 210 612 0 14 Dtool_HwcaxrYP 257 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_point // Access: Published // Description: Returns the nth vertex of the OBB. //////////////////////////////////////////////////////////////////// 2 4 this 3 680 1 n 1 624 191 14 Dtool_Hwcaey2e 6 211 624 0 14 Dtool_Hwcaey2e 282 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_num_planes // Access: Published // Description: Returns 6: the number of faces of a rectangular solid. //////////////////////////////////////////////////////////////////// 1 4 this 3 680 192 14 Dtool_Hwca9Hae 7 212 682 0 14 Dtool_Hwca9Hae 269 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_plane // Access: Published // Description: Creates the nth face of the rectangular solid. //////////////////////////////////////////////////////////////////// 2 4 this 3 680 1 n 1 624 193 14 Dtool_HwcaSSWe 7 213 682 0 14 Dtool_HwcaSSWe 269 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_plane // Access: Published // Description: Returns the nth face of the rectangular solid. //////////////////////////////////////////////////////////////////// 2 4 this 3 680 1 n 1 624 194 14 Dtool_HwcaToqZ 4 214 615 0 14 Dtool_HwcaToqZ 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 679 6 center 1 648 195 14 Dtool_HwcaF0ja 4 214 615 0 14 Dtool_HwcaF0ja 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 679 1 x 1 647 1 y 1 647 1 z 1 647 196 14 Dtool_Hwca4vL3 6 215 648 0 14 Dtool_Hwca4vL3 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 680 197 14 Dtool_HwcavvqG 6 216 647 0 14 Dtool_HwcavvqG 223 //////////////////////////////////////////////////////////////////// // Function: CollisionBox::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 680 198 14 Dtool_HwcafJb_ 7 217 608 0 14 Dtool_HwcafJb_ 0 0 199 14 Dtool_HwcaLNNB 7 220 683 497 14 Dtool_HwcaLNNB 715 // Filename: collisionSphere.I // Created by: drose (24Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 center 1 648 6 radius 1 647 200 14 Dtool_Hwca2Rzm 7 220 683 497 14 Dtool_Hwca2Rzm 224 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 2 cx 1 647 2 cy 1 647 2 cz 1 647 6 radius 1 647 201 14 Dtool_Hwca3CUl 4 221 615 0 14 Dtool_Hwca3CUl 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 683 6 center 1 648 202 14 Dtool_HwcaodaV 4 221 615 0 14 Dtool_HwcaodaV 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 683 1 x 1 647 1 y 1 647 1 z 1 647 203 14 Dtool_HwcazgAq 6 222 648 0 14 Dtool_HwcazgAq 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::get_center // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 684 204 14 Dtool_HwcauEwq 4 223 615 0 14 Dtool_HwcauEwq 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::set_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 683 6 radius 1 647 205 14 Dtool_HwcaLSzr 6 224 647 0 14 Dtool_HwcaLSzr 226 //////////////////////////////////////////////////////////////////// // Function: CollisionSphere::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 684 206 14 Dtool_HwcaOm79 7 225 608 0 14 Dtool_HwcaOm79 0 0 207 14 Dtool_Hwca_yWY 7 228 686 500 14 Dtool_Hwca_yWY 721 // Filename: collisionInvSphere.I // Created by: drose (05Jan05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 center 1 648 6 radius 1 647 208 14 Dtool_HwcaUKHB 7 228 686 500 14 Dtool_HwcaUKHB 227 //////////////////////////////////////////////////////////////////// // Function: CollisionInvSphere::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 2 cx 1 647 2 cy 1 647 2 cz 1 647 6 radius 1 647 209 14 Dtool_Hwca9Ep8 7 229 608 0 14 Dtool_Hwca9Ep8 0 0 210 14 Dtool_HwcaOnzJ 7 232 687 508 14 Dtool_HwcaOnzJ 935 // Filename: collisionRay.I // Created by: drose (22Jun00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Default Constructor // Access: Public // Description: Creates an invalid ray. This isn't terribly useful; // it's expected that the user will subsequently adjust // the ray via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// 0 211 14 Dtool_HwcauWsc 7 232 687 508 14 Dtool_HwcauWsc 221 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 origin 1 648 9 direction 1 616 212 14 Dtool_HwcasJco 7 232 687 508 14 Dtool_HwcasJco 221 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 6 2 ox 1 647 2 oy 1 647 2 oz 1 647 2 dx 1 647 2 dy 1 647 2 dz 1 647 213 14 Dtool_HwcaWQg4 4 233 615 0 14 Dtool_HwcaWQg4 220 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 687 6 origin 1 648 214 14 Dtool_HwcaCEZ5 4 233 615 0 14 Dtool_HwcaCEZ5 220 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 687 1 x 1 647 1 y 1 647 1 z 1 647 215 14 Dtool_Hwcao7AW 6 234 648 0 14 Dtool_Hwcao7AW 220 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::get_origin // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 688 216 14 Dtool_HwcaFnJ_ 4 235 615 0 14 Dtool_HwcaFnJ_ 223 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 687 9 direction 1 616 217 14 Dtool_Hwcau5k9 4 235 615 0 14 Dtool_Hwcau5k9 223 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 687 1 x 1 647 1 y 1 647 1 z 1 647 218 14 Dtool_Hwcaxcuk 6 236 616 0 14 Dtool_Hwcaxcuk 223 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::get_direction // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 688 219 14 Dtool_HwcaDz4_ 6 237 614 0 14 Dtool_HwcaDz4_ 630 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionRay so that it begins at // the LensNode's near plane and extends to // infinity, making it suitable for picking objects from // the screen given a camera and a mouse location. // // Returns true if the point was acceptable, false // otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 687 6 camera 1 690 5 point 1 692 220 14 Dtool_HwcakXhs 6 237 614 0 14 Dtool_HwcakXhs 534 //////////////////////////////////////////////////////////////////// // Function: CollisionRay::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionRay so that it begins at // the LensNode's near plane and extends to // infinity, making it suitable for picking objects from // the screen given a camera and a mouse location. //////////////////////////////////////////////////////////////////// 4 4 this 3 687 6 camera 1 690 2 px 1 647 2 py 1 647 221 14 Dtool_HwcaVl1_ 7 238 608 0 14 Dtool_HwcaVl1_ 0 0 222 14 Dtool_Hwcabj0W 7 241 695 511 14 Dtool_Hwcabj0W 939 // Filename: collisionLine.I // Created by: drose (05Jan05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Default Constructor // Access: Public // Description: Creates an invalid line. This isn't terribly useful; // it's expected that the user will subsequently adjust // the line via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// 0 223 14 Dtool_HwcakrPl 7 241 695 511 14 Dtool_HwcakrPl 222 //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 origin 1 648 9 direction 1 616 224 14 Dtool_HwcaXh24 7 241 695 511 14 Dtool_HwcaXh24 222 //////////////////////////////////////////////////////////////////// // Function: CollisionLine::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 6 2 ox 1 647 2 oy 1 647 2 oz 1 647 2 dx 1 647 2 dy 1 647 2 dz 1 647 225 14 Dtool_HwcaRXQf 7 242 608 0 14 Dtool_HwcaRXQf 0 0 226 14 Dtool_Hwca21w1 7 245 698 518 14 Dtool_Hwca21w1 228 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 696 227 14 Dtool_Hwcalkhc 7 245 698 518 14 Dtool_Hwcalkhc 223 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 5 plane 1 673 228 14 Dtool_HwcamYK9 7 246 650 0 14 Dtool_HwcamYK9 225 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::get_normal // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 696 229 14 Dtool_HwcaOb8M 6 247 647 0 14 Dtool_HwcaOb8M 228 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::dist_to_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 696 5 point 1 648 230 14 Dtool_HwcaAQAO 4 248 615 0 14 Dtool_HwcaAQAO 224 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::set_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 698 5 plane 1 673 231 14 Dtool_Hwcar8W5 6 249 673 0 14 Dtool_Hwcar8W5 224 //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::get_plane // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 696 232 14 Dtool_Hwca8byU 7 250 608 0 14 Dtool_Hwca8byU 0 0 233 14 Dtool_HwcaLCpw 7 253 699 526 14 Dtool_HwcaLCpw 228 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 5 begin 1 648 3 end 1 648 234 14 Dtool_Hwcadvbe 7 253 699 526 14 Dtool_Hwcadvbe 720 // Filename: collisionPolygon.I // Created by: drose (25Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 1 a 1 700 1 b 1 700 1 c 1 700 235 14 Dtool_HwcaU3Jm 7 253 699 526 14 Dtool_HwcaU3Jm 228 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 1 a 1 700 1 b 1 700 1 c 1 700 1 d 1 700 236 14 Dtool_Hwcadl51 6 254 624 0 14 Dtool_Hwcadl51 304 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::get_num_points // Access: Published // Description: Returns the number of vertices of the // CollisionPolygon. //////////////////////////////////////////////////////////////////// 1 4 this 3 703 237 14 Dtool_HwcaSH__ 7 255 612 0 14 Dtool_HwcaSH__ 315 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::get_point // Access: Published // Description: Returns the nth vertex of the CollisionPolygon, // expressed in 3-D space. //////////////////////////////////////////////////////////////////// 2 4 this 3 703 1 n 1 624 238 14 Dtool_HwcaFHAc 6 256 614 0 14 Dtool_HwcaFHAc 650 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Public, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. // // This does not check that the polygon defined is // convex; that check is made later, once we have // projected the points to 2-d space where the decision // is easier. //////////////////////////////////////////////////////////////////// 2 5 begin 1 648 3 end 1 648 239 14 Dtool_HwcaxElj 6 256 614 0 14 Dtool_HwcaxElj 423 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Published, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. //////////////////////////////////////////////////////////////////// 3 1 a 1 648 1 b 1 648 1 c 1 648 240 14 Dtool_HwcanB07 6 256 614 0 14 Dtool_HwcanB07 423 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::verify_points // Access: Published, Static // Description: Verifies that the indicated set of points will define // a valid CollisionPolygon: that is, at least three // non-collinear points, with no points repeated. //////////////////////////////////////////////////////////////////// 4 1 a 1 648 1 b 1 648 1 c 1 648 1 d 1 648 241 14 Dtool_HwcatOV6 6 257 614 0 14 Dtool_HwcatOV6 365 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::is_valid // Access: Public // Description: Returns true if the CollisionPolygon is valid // (that is, it has at least three vertices), or false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 703 242 14 Dtool_HwcaKWT1 6 258 614 0 14 Dtool_HwcaKWT1 334 //////////////////////////////////////////////////////////////////// // Function: CollisionPolygon::is_concave // Access: Public // Description: Returns true if the CollisionPolygon appears to be // concave, or false if it is safely convex. //////////////////////////////////////////////////////////////////// 1 4 this 3 703 243 14 Dtool_HwcaI99a 7 259 608 0 14 Dtool_HwcaI99a 0 0 244 14 Dtool_HwcaEYjD 7 262 705 535 14 Dtool_HwcaEYjD 759 // Filename: collisionParabola.I // Created by: drose (11Oct07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::Default Constructor // Access: Published // Description: Creates an invalid parabola. //////////////////////////////////////////////////////////////////// 0 245 14 Dtool_Hwca59rG 7 262 705 535 14 Dtool_Hwca59rG 343 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::Constructor // Access: Published // Description: Creates a parabola with the endpoints between t1 and // t2 in the parametric space of the parabola. //////////////////////////////////////////////////////////////////// 3 8 parabola 1 706 2 t1 1 647 2 t2 1 647 246 14 Dtool_HwcapAvY 4 263 615 0 14 Dtool_HwcapAvY 274 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_parabola // Access: Public // Description: Replaces the parabola specified by this solid. //////////////////////////////////////////////////////////////////// 2 4 this 3 705 8 parabola 1 706 247 14 Dtool_Hwcay34O 6 264 706 0 14 Dtool_Hwcay34O 273 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_parabola // Access: Public // Description: Returns the parabola specified by this solid. //////////////////////////////////////////////////////////////////// 1 4 this 3 709 248 14 Dtool_HwcaTMv_ 4 265 615 0 14 Dtool_HwcaTMv_ 265 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_t1 // Access: Public // Description: Changes the starting point on the parabola. //////////////////////////////////////////////////////////////////// 2 4 this 3 705 2 t1 1 647 249 14 Dtool_HwcatUNU 6 266 647 0 14 Dtool_HwcatUNU 265 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_t1 // Access: Public // Description: Returns the starting point on the parabola. //////////////////////////////////////////////////////////////////// 1 4 this 3 709 250 14 Dtool_HwcaKew_ 4 267 615 0 14 Dtool_HwcaKew_ 263 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::set_t2 // Access: Public // Description: Changes the ending point on the parabola. //////////////////////////////////////////////////////////////////// 2 4 this 3 705 2 t2 1 647 251 14 Dtool_HwcakGOU 6 268 647 0 14 Dtool_HwcakGOU 263 //////////////////////////////////////////////////////////////////// // Function: CollisionParabola::get_t2 // Access: Public // Description: Returns the ending point on the parabola. //////////////////////////////////////////////////////////////////// 1 4 this 3 709 252 14 Dtool_HwcaoAK5 7 269 608 0 14 Dtool_HwcaoAK5 0 0 253 14 Dtool_Hwcaf1c8 7 272 711 544 14 Dtool_Hwcaf1c8 879 //: collisionPlane.I // Created by: drose (25Apr00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionPlane::Default Constructor // Access: Protected // Description: This is only for the convenience of CollisionPolygon. // Normally, you should not attempt to create an // uninitialized CollisionPlane. //////////////////////////////////////////////////////////////////// 0 254 14 Dtool_HwcaGOOn 4 273 615 0 14 Dtool_HwcaGOOn 266 //////////////////////////////////////////////////////////////////// // Function: CollisionFloorMesh::add_vertex // Access: Published // Description: store away a vertex to index against //////////////////////////////////////////////////////////////////// 2 4 this 3 711 4 vert 1 648 255 14 Dtool_Hwcajmeu 4 274 615 0 14 Dtool_Hwcajmeu 263 //////////////////////////////////////////////////////////////////// // Function: CollisionFloorMesh::add_triangle // Access: Published // Description: store a triangle for processing //////////////////////////////////////////////////////////////////// 4 4 this 3 711 6 pointA 1 712 6 pointB 1 712 6 pointC 1 712 256 14 Dtool_HwcaJ7Jg 6 275 712 0 14 Dtool_HwcaJ7Jg 0 1 4 this 3 713 257 14 Dtool_Hwca2Xg6 7 276 648 0 14 Dtool_Hwca2Xg6 0 2 4 this 3 713 5 index 1 712 258 14 Dtool_HwcacnQl 6 277 712 0 14 Dtool_HwcacnQl 0 1 4 this 3 713 259 14 Dtool_HwcaHuD2 7 278 717 0 14 Dtool_HwcaHuD2 0 2 4 this 3 713 5 index 1 712 260 14 Dtool_HwcaWn3e 7 279 608 0 14 Dtool_HwcaWn3e 0 0 261 14 Dtool_HwcaG_0_ 7 282 718 552 14 Dtool_HwcaG_0_ 951 // Filename: collisionSegment.I // Created by: drose (30Jan01) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Default Constructor // Access: Public // Description: Creates an invalid segment. This isn't terribly useful; // it's expected that the user will subsequently adjust // the segment via set_origin()/set_direction() or // set_from_lens(). //////////////////////////////////////////////////////////////////// 0 262 14 Dtool_HwcahcIM 7 282 718 552 14 Dtool_HwcahcIM 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 1 a 1 648 2 db 1 648 263 14 Dtool_HwcaGSlK 7 282 718 552 14 Dtool_HwcaGSlK 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 6 2 ax 1 647 2 ay 1 647 2 az 1 647 2 bx 1 647 2 by 1 647 2 bz 1 647 264 14 Dtool_Hwca5ebw 4 283 615 0 14 Dtool_Hwca5ebw 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 718 1 a 1 648 265 14 Dtool_HwcayePy 4 283 615 0 14 Dtool_HwcayePy 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 718 1 x 1 647 1 y 1 647 1 z 1 647 266 14 Dtool_HwcaxXkX 6 284 648 0 14 Dtool_HwcaxXkX 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::get_point_a // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 719 267 14 Dtool_HwcayVbM 4 285 615 0 14 Dtool_HwcayVbM 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 718 1 b 1 648 268 14 Dtool_Hwca1bPO 4 285 615 0 14 Dtool_Hwca1bPO 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 718 1 x 1 647 1 y 1 647 1 z 1 647 269 14 Dtool_Hwca5Kkz 6 286 648 0 14 Dtool_Hwca5Kkz 225 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::get_point_b // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 719 270 14 Dtool_HwcalPim 6 287 614 0 14 Dtool_HwcalPim 643 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionSegment so that it begins at // the LensNode's near plane and extends to the // far plane, making it suitable for picking objects // from the screen given a camera and a mouse location. // // Returns true if the point was acceptable, false // otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 718 6 camera 1 690 5 point 1 692 271 14 Dtool_Hwcaq5Ut 6 287 614 0 14 Dtool_Hwcaq5Ut 547 //////////////////////////////////////////////////////////////////// // Function: CollisionSegment::set_from_lens // Access: Public // Description: Accepts a LensNode and a 2-d point in the range // [-1,1]. Sets the CollisionSegment so that it begins at // the LensNode's near plane and extends to the // far plane, making it suitable for picking objects // from the screen given a camera and a mouse location. //////////////////////////////////////////////////////////////////// 4 4 this 3 718 6 camera 1 690 2 px 1 647 2 py 1 647 272 14 Dtool_HwcakImW 7 288 608 0 14 Dtool_HwcakImW 0 0 273 14 Dtool_HwcayNS4 7 291 721 561 14 Dtool_HwcayNS4 711 // Filename: collisionTube.I // Created by: drose (25Sep03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 1 a 1 648 2 db 1 648 6 radius 1 647 274 14 Dtool_Hwcae_eG 7 291 721 561 14 Dtool_Hwcae_eG 222 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 7 2 ax 1 647 2 ay 1 647 2 az 1 647 2 bx 1 647 2 by 1 647 2 bz 1 647 6 radius 1 647 275 14 Dtool_Hwca8Wt6 4 292 615 0 14 Dtool_Hwca8Wt6 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 721 1 a 1 648 276 14 Dtool_Hwca2wJc 4 292 615 0 14 Dtool_Hwca2wJc 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 721 1 x 1 647 1 y 1 647 1 z 1 647 277 14 Dtool_Hwcaoxl7 6 293 648 0 14 Dtool_Hwcaoxl7 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_point_a // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 722 278 14 Dtool_HwcacSS7 4 294 615 0 14 Dtool_HwcacSS7 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 721 1 b 1 648 279 14 Dtool_HwcaWPxc 4 294 615 0 14 Dtool_HwcaWPxc 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 721 1 x 1 647 1 y 1 647 1 z 1 647 280 14 Dtool_HwcaI1M8 6 295 648 0 14 Dtool_HwcaI1M8 225 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_point_b // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 722 281 14 Dtool_Hwca_G54 4 296 615 0 14 Dtool_Hwca_G54 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::set_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 721 6 radius 1 647 282 14 Dtool_HwcaSKpL 6 297 647 0 14 Dtool_HwcaSKpL 224 //////////////////////////////////////////////////////////////////// // Function: CollisionTube::get_radius // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 722 283 14 Dtool_Hwcaur7C 7 298 608 0 14 Dtool_Hwcaur7C 0 0 284 14 Dtool_HwcaXmWq 7 305 640 567 14 Dtool_HwcaXmWq 231 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 625 285 14 Dtool_HwcayFwD 4 307 615 0 14 Dtool_HwcayFwD 741 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::set_point_scale // Access: Published // Description: Scales the points that are drawn to represent the // surface and interior intersection points of the // collisions. By default, these objects are drawn at // an arbitrary scale which is appropriate if the window // units are the default range -1 .. 1. Change this // scale accordinatly if the window units are measured // on some other scale or if you need to observe these // objects in a smaller window. //////////////////////////////////////////////////////////////////// 2 4 this 3 640 11 point_scale 1 647 286 14 Dtool_HwcarwDZ 6 308 647 0 14 Dtool_HwcarwDZ 284 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::get_point_scale // Access: Published // Description: Returns the value last set by set_point_scale(). //////////////////////////////////////////////////////////////////// 1 4 this 3 724 287 14 Dtool_HwcaDFe5 4 309 615 0 14 Dtool_HwcaDFe5 685 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::set_normal_scale // Access: Published // Description: Scales the line segments that are drawn to represent // the normals of the collisions. By default, these // objects are drawn at an arbitrary scale which is // appropriate if the scene units are measured in feet. // Change this scale accordinatly if the scene units are // measured on some other scale or if you need to // observe these normals from farther away. //////////////////////////////////////////////////////////////////// 2 4 this 3 640 12 normal_scale 1 647 288 14 Dtool_Hwca3tAT 6 310 647 0 14 Dtool_Hwca3tAT 286 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::get_normal_scale // Access: Published // Description: Returns the value last set by set_normal_scale(). //////////////////////////////////////////////////////////////////// 1 4 this 3 724 289 14 Dtool_HwcavSrC 4 311 615 0 14 Dtool_HwcavSrC 339 //////////////////////////////////////////////////////////////////// // Function: CollisionVisualizer::clear // Access: Published // Description: Removes all the visualization data from a previous // traversal and resets the visualizer to empty. //////////////////////////////////////////////////////////////////// 1 4 this 3 640 290 14 Dtool_Hwca5C_m 7 312 608 0 14 Dtool_Hwca5C_m 0 0 291 14 Dtool_Hwcaq3Vo 7 301 645 0 14 Dtool_Hwcaq3Vo 0 1 4 this 3 640 292 14 Dtool_Hwcafx9L 7 302 640 567 14 Dtool_Hwcafx9L 0 1 4 this 3 645 293 14 Dtool_Hwca1mI9 6 303 639 0 14 Dtool_Hwca1mI9 0 1 4 this 3 640 294 14 Dtool_HwcaaJgA 7 304 640 567 14 Dtool_HwcaaJgA 0 1 4 this 3 639 152 574 16 CollisionHandler 141313 16 CollisionHandler 16 CollisionHandler 0 0 0 0 296 0 1 295 0 0 1 0 575 0 0 0 0 499 //////////////////////////////////////////////////////////////////// // Class : CollisionHandler // Description : The abstract interface to a number of classes that // decide what to do when a collision is detected. One // of these must be assigned to the CollisionTraverser // that is processing collisions in order to specify how // to dispatch detected collisions. //////////////////////////////////////////////////////////////////// 575 19 TypedReferenceCount 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710 //////////////////////////////////////////////////////////////////// // Class : TypedReferenceCount // Description : A base class for things which need to inherit from // both TypedObject and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedObjects and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 576 14 CollisionSolid 75777 14 CollisionSolid 14 CollisionSolid 0 0 0 0 0 0 14 297 298 299 300 301 302 303 304 305 306 307 308 309 310 0 0 1 0 577 0 0 0 0 754 //////////////////////////////////////////////////////////////////// // Class : CollisionSolid // Description : The abstract base class for all things that can // collide with other things in the world, and all the // things they can collide with (except geometry). // // This class and its derivatives really work very // similarly to the way BoundingVolume and all of its // derivatives work. There's a different subclass for // each basic shape of solid, and double-dispatch // function calls handle the subset of the N*N // intersection tests that we care about. //////////////////////////////////////////////////////////////////// 577 17 CopyOnWriteObject 2049 17 CopyOnWriteObject 17 CopyOnWriteObject 0 0 0 0 0 0 0 0 0 0 0 0 376 //////////////////////////////////////////////////////////////////// // Class : CopyOnWriteObject // Description : This base class provides basic reference counting, // but also can be used with a CopyOnWritePointer to // provide get_read_pointer() and get_write_pointer(). //////////////////////////////////////////////////////////////////// 578 13 CollisionNode 75777 13 CollisionNode 13 CollisionNode 0 0 0 1 311 0 0 16 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 1 726 0 1 0 579 0 0 0 0 496 //////////////////////////////////////////////////////////////////// // Class : CollisionNode // Description : A node in the scene graph that can hold any number of // CollisionSolids. This may either represent a bit of // static geometry in the scene that things will collide // with, or an animated object twirling around in the // world and running into things. //////////////////////////////////////////////////////////////////// 579 9 PandaNode 2049 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 374 //////////////////////////////////////////////////////////////////// // Class : PandaNode // Description : A basic node of the scene graph or data graph. This // is the base class of all specialized nodes, and also // serves as a generic node with no special properties. //////////////////////////////////////////////////////////////////// 580 18 CollisionTraverser 26625 18 CollisionTraverser 18 CollisionTraverser 0 0 0 1 328 329 0 19 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 1 727 0 1 0 581 0 0 0 0 765 //////////////////////////////////////////////////////////////////// // Class : CollisionTraverser // Description : This class manages the traversal through the scene // graph to detect collisions. It holds ownership of a // number of collider objects, each of which is a // CollisionNode and an associated CollisionHandler. // // When traverse() is called, it begins at the indicated // root and detects all collisions with any of its // collider objects against nodes at or below the // indicated root, calling the appropriate // CollisionHandler for each detected collision. //////////////////////////////////////////////////////////////////// 581 7 Namable 2049 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 324 //////////////////////////////////////////////////////////////////// // Class : Namable // Description : A base class for all things which can have a name. // The name is either empty or nonempty, but it is never // NULL. //////////////////////////////////////////////////////////////////// 582 17 CollisionRecorder 75777 17 CollisionRecorder 17 CollisionRecorder 0 0 0 0 0 0 2 349 350 0 0 1 0 583 0 0 0 0 431 //////////////////////////////////////////////////////////////////// // Class : CollisionRecorder // Description : This class is used to help debug the work the // collisions system is doing. It is a virtual base // class that just provides an interface for recording // collisions tested and detected each frame. //////////////////////////////////////////////////////////////////// 583 11 TypedObject 2049 11 TypedObject 11 TypedObject 0 0 0 0 0 0 0 0 0 0 0 0 3666 //////////////////////////////////////////////////////////////////// // Class : TypedObject // Description : This is an abstract class that all classes which // use TypeHandle, and also provide virtual functions to // support polymorphism, should inherit from. Each // derived class should define get_type(), which should // return the specific type of the derived class. // Inheriting from this automatically provides support // for is_of_type() and is_exact_type(). // // All classes that inherit directly or indirectly from // TypedObject should redefine get_type() and // force_init_type(), as shown below. Some classes that // do not inherit from TypedObject may still declare // TypeHandles for themselves by defining methods called // get_class_type() and init_type(). Classes such as // these may serve as base classes, but the dynamic type // identification system will be limited. Classes that // do not inherit from TypedObject need not define the // virtual functions get_type() and force_init_type() // (or any other virtual functions). // // There is a specific layout for defining the // overrides from this class. Keeping the definitions // formatted just like these examples will allow // someone in the future to use a sed (or similar) // script to make global changes, if necessary. Avoid // rearranging the braces or the order of the functions // unless you're ready to change them in every file all // at once. // // What follows are some examples that can be used in // new classes that you create. // // @par In the class definition (.h file): // @code // public: // static TypeHandle get_class_type() { // return _type_handle; // } // static void init_type() { // <<>>::init_type(); // <<>>::init_type(); // <<>>::init_type(); // register_type(_type_handle, "<<>>", // <<>>::get_class_type(), // <<>>::get_class_type(), // <<>>::get_class_type()); // } // virtual TypeHandle get_type() const { // return get_class_type(); // } // virtual TypeHandle force_init_type() {init_type(); return get_class_type();} // // private: // static TypeHandle _type_handle; // @endcode // // @par In the class .cxx file: // @code // TypeHandle <<>>::_type_handle; // @endcode // // @par In the class config_<<>>.cxx file: // @code // ConfigureFn(config_<<>>) { // <<>>::init_type(); // <<>>::init_type(); // <<>>::init_type(); // } // @endcode //////////////////////////////////////////////////////////////////// 584 14 CollisionEntry 141313 14 CollisionEntry 14 CollisionEntry 0 0 0 0 383 0 32 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 0 0 1 0 585 0 0 0 0 731 //////////////////////////////////////////////////////////////////// // Class : CollisionEntry // Description : Defines a single collision event. One of these is // created for each collision detected by a // CollisionTraverser, to be dealt with by the // CollisionHandler. // // A CollisionEntry provides slots for a number of data // values (such as intersection point and normal) that // might or might not be known for each collision. It // is up to the handler to determine what information is // known and to do the right thing with it. //////////////////////////////////////////////////////////////////// 585 27 TypedWritableReferenceCount 2049 27 TypedWritableReferenceCount 27 TypedWritableReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 722 //////////////////////////////////////////////////////////////////// // Class : TypedWritableReferenceCount // Description : A base class for things which need to inherit from // both TypedWritable and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedWritables and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 586 21 CollisionHandlerEvent 141313 21 CollisionHandlerEvent 21 CollisionHandlerEvent 0 0 0 1 384 403 0 18 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 3 728 729 730 0 1 0 574 0 0 0 0 555 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerEvent // Description : A specialized kind of CollisionHandler that throws an // event for each collision detected. The event thrown // may be based on the name of the moving object or the // struck object, or both. The first parameter of the // event will be a pointer to the CollisionEntry that // triggered it. //////////////////////////////////////////////////////////////////// 587 28 CollisionHandlerHighestEvent 141313 28 CollisionHandlerHighestEvent 28 CollisionHandlerHighestEvent 0 0 0 1 404 406 0 1 405 0 0 1 0 586 0 0 0 0 555 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerEvent // Description : A specialized kind of CollisionHandler that throws an // event for each collision detected. The event thrown // may be based on the name of the moving object or the // struck object, or both. The first parameter of the // event will be a pointer to the CollisionEntry that // triggered it. //////////////////////////////////////////////////////////////////// 588 24 CollisionHandlerPhysical 75777 24 CollisionHandlerPhysical 24 CollisionHandlerPhysical 0 0 0 0 403 0 10 407 408 409 410 411 412 413 414 415 416 0 0 1 0 586 0 0 0 0 440 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerPhysical // Description : The abstract base class for a number of // CollisionHandlers that have some physical effect on // their moving bodies: they need to update the nodes' // positions based on the effects of the collision. //////////////////////////////////////////////////////////////////// 589 21 CollisionHandlerFloor 75777 21 CollisionHandlerFloor 21 CollisionHandlerFloor 0 0 0 1 417 403 0 7 418 419 420 421 422 423 424 0 0 1 0 588 0 0 0 0 552 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerFloor // Description : A specialized kind of CollisionHandler that sets the // Z height of the collider to a fixed linear offset // from the highest detected collision point each frame. // It's intended to implement walking around on a floor // of varying height by casting a ray down from the // avatar's head. //////////////////////////////////////////////////////////////////// 590 23 CollisionHandlerGravity 75777 23 CollisionHandlerGravity 23 CollisionHandlerGravity 0 0 0 1 425 403 0 18 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 0 0 1 0 588 0 0 0 0 554 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerGravity // Description : A specialized kind of CollisionHandler that sets the // Z height of the collider to a fixed linear offset // from the highest detected collision point each frame. // It's intended to implement walking around on a floor // of varying height by casting a ray down from the // avatar's head. //////////////////////////////////////////////////////////////////// 591 22 CollisionHandlerPusher 75777 22 CollisionHandlerPusher 22 CollisionHandlerPusher 0 0 0 1 444 403 0 3 445 446 447 0 0 1 0 588 0 0 0 0 425 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerPusher // Description : A specialized kind of CollisionHandler that simply // pushes back on things that attempt to move into solid // walls. This is the simplest kind of "real-world" // collisions you can have. //////////////////////////////////////////////////////////////////// 592 27 CollisionHandlerFluidPusher 141313 27 CollisionHandlerFluidPusher 27 CollisionHandlerFluidPusher 0 0 0 1 448 450 0 1 449 0 0 1 0 591 0 0 0 0 359 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerFluidPusher // Description : A CollisionHandlerPusher that makes use of timing // and spatial information from fluid collisions to improve // collision response //////////////////////////////////////////////////////////////////// 593 21 CollisionHandlerQueue 141313 21 CollisionHandlerQueue 21 CollisionHandlerQueue 0 0 0 1 451 459 0 7 452 453 454 455 456 457 458 1 731 0 1 0 574 0 0 0 0 571 //////////////////////////////////////////////////////////////////// // Class : CollisionHandlerQueue // Description : A special kind of CollisionHandler that does nothing // except remember the CollisionEntries detected the // last pass. This set of CollisionEntries may then be // queried by the calling function. It's primarily // useful when a simple intersection test is being made, // e.g. for picking from the window. //////////////////////////////////////////////////////////////////// 594 16 CollisionDSSolid 141313 16 CollisionDSSolid 16 CollisionDSSolid 0 0 0 1 460 478 0 17 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 0 0 1 0 576 0 0 0 0 345 //////////////////////////////////////////////////////////////////// // Class : CollisionDSSolid // Description : A collision volume or object made up of the intersection // of two spheres (potentially a lens) and two half-spaces // (planes). //////////////////////////////////////////////////////////////////// 595 12 CollisionBox 141313 12 CollisionBox 12 CollisionBox 0 0 0 1 479 490 0 10 480 481 482 483 484 485 486 487 488 489 0 0 1 0 576 0 0 0 0 221 //////////////////////////////////////////////////////////////////// // Class : CollisionBox // Description : A cuboid collision volume or object. //////////////////////////////////////////////////////////////////// 596 15 CollisionSphere 141313 15 CollisionSphere 15 CollisionSphere 0 0 0 1 491 497 0 5 492 493 494 495 496 0 0 1 0 576 0 0 0 0 227 //////////////////////////////////////////////////////////////////// // Class : CollisionSphere // Description : A spherical collision volume or object. //////////////////////////////////////////////////////////////////// 597 18 CollisionInvSphere 141313 18 CollisionInvSphere 18 CollisionInvSphere 0 0 0 1 498 500 0 1 499 0 0 1 0 596 0 0 0 0 527 //////////////////////////////////////////////////////////////////// // Class : CollisionInvSphere // Description : An inverted sphere: this is a sphere whose collision // surface is the inside surface of the sphere. // Everything outside the sphere is solid matter; // everything inside is empty space. Useful for // constraining objects to remain within a spherical // perimeter. //////////////////////////////////////////////////////////////////// 598 12 CollisionRay 141313 12 CollisionRay 12 CollisionRay 0 0 0 1 501 508 0 6 502 503 504 505 506 507 0 0 1 0 576 0 0 0 0 456 //////////////////////////////////////////////////////////////////// // Class : CollisionRay // Description : An infinite ray, with a specific origin and // direction. It begins at its origin and continues in // one direction to infinity, and it has no radius. // Useful for picking from a window, or for gravity // effects. //////////////////////////////////////////////////////////////////// 599 13 CollisionLine 141313 13 CollisionLine 13 CollisionLine 0 0 0 1 509 511 0 1 510 0 0 1 0 598 0 0 0 0 337 //////////////////////////////////////////////////////////////////// // Class : CollisionLine // Description : An infinite line, similar to a CollisionRay, except // that it extends in both directions. It is, however, // directional. //////////////////////////////////////////////////////////////////// 600 14 CollisionPlane 141313 14 CollisionPlane 14 CollisionPlane 0 0 0 1 512 518 0 5 513 514 515 516 517 0 0 1 0 576 0 0 0 0 186 //////////////////////////////////////////////////////////////////// // Class : CollisionPlane // Description : //////////////////////////////////////////////////////////////////// 601 16 CollisionPolygon 141313 16 CollisionPolygon 16 CollisionPolygon 0 0 0 1 519 526 0 6 520 521 522 523 524 525 1 732 0 1 0 600 0 0 0 0 188 //////////////////////////////////////////////////////////////////// // Class : CollisionPolygon // Description : //////////////////////////////////////////////////////////////////// 602 17 CollisionParabola 141313 17 CollisionParabola 17 CollisionParabola 0 0 0 1 527 535 0 7 528 529 530 531 532 533 534 0 0 1 0 576 0 0 0 0 560 //////////////////////////////////////////////////////////////////// // Class : CollisionParabola // Description : This defines a parabolic arc, or subset of an arc, // similar to the path of a projectile or falling // object. It is finite, having a specific beginning // and end, but it is infinitely thin. // // Think of it as a wire bending from point t1 to point // t2 along the path of a pre-defined parabola. //////////////////////////////////////////////////////////////////// 603 18 CollisionFloorMesh 141313 18 CollisionFloorMesh 18 CollisionFloorMesh 0 0 0 1 536 544 0 7 537 538 539 540 541 542 543 2 733 734 0 1 0 576 0 0 0 0 318 //////////////////////////////////////////////////////////////////// // Class : CollisionFloorMesh // Description : This object represents a solid made entirely of triangles, which // will only be tested again z axis aligned rays //////////////////////////////////////////////////////////////////// 604 16 CollisionSegment 141313 16 CollisionSegment 16 CollisionSegment 0 0 0 1 545 552 0 6 546 547 548 549 550 551 0 0 1 0 576 0 0 0 0 639 //////////////////////////////////////////////////////////////////// // Class : CollisionSegment // Description : A finite line segment, with two specific endpoints // but no thickness. It's similar to a CollisionRay, // except it does not continue to infinity. // // It does have an ordering, from point A to point B. // If more than a single point of the segment is // intersecting a solid, the reported intersection point // is generally the closest on the segment to point A. //////////////////////////////////////////////////////////////////// 605 13 CollisionTube 141313 13 CollisionTube 13 CollisionTube 0 0 0 1 553 561 0 7 554 555 556 557 558 559 560 0 0 1 0 576 0 0 0 0 468 //////////////////////////////////////////////////////////////////// // Class : CollisionTube // Description : This implements a solid roughly in cylindrical shape. // It's not called a CollisionCylinder because it's not // a true cylinder; specifically, it has rounded ends // instead of flat ends. It looks more like a Contac // pill. //////////////////////////////////////////////////////////////////// 606 19 CollisionVisualizer 26625 19 CollisionVisualizer 19 CollisionVisualizer 0 0 0 1 566 567 0 6 568 569 570 571 572 573 0 0 2 3 579 562 563 3 582 564 565 0 0 559 //////////////////////////////////////////////////////////////////// // Class : CollisionVisualizer // Description : This class is used to help debug the work the // collisions system is doing. It shows the polygons // that are detected as collisions, as well as those // that are simply considered for collisions. // // It may be parented anywhere in the scene graph where // it will be rendered to achieve this. //////////////////////////////////////////////////////////////////// 607 10 TypeHandle 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098 //////////////////////////////////////////////////////////////////// // Class : TypeHandle // Description : TypeHandle is the identifier used to differentiate // C++ class types. Any C++ classes that inherit from // some base class, and must be differentiated at run // time, should store a static TypeHandle object that // can be queried through a static member function // named get_class_type(). Most of the time, it is also // desirable to inherit from TypedObject, which provides // some virtual functions to return the TypeHandle for a // particular instance. // // At its essence, a TypeHandle is simply a unique // identifier that is assigned by the TypeRegistry. The // TypeRegistry stores a tree of TypeHandles, so that // ancestry of a particular type may be queried, and the // type name may be retrieved for run-time display. //////////////////////////////////////////////////////////////////// 608 12 TypeHandle * 8576 12 TypeHandle * 12 TypeHandle * 0 0 607 0 0 0 0 0 0 0 0 0 0 609 7 Vertexf 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 1083 // Filename: lpoint3_src.h // Created by: drose (25Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint3 // Description : This is a three-component point in space (as opposed // to a three-component vector, which represents a // direction and a distance). Some of the methods are // slightly different between LPoint3 and LVector3; in // particular, subtraction of two points yields a // vector, while addition of a vector and a point yields // a point. //////////////////////////////////////////////////////////////////// 610 22 CollisionSolid const * 8576 22 CollisionSolid const * 22 CollisionSolid const * 0 0 611 0 0 0 0 0 0 0 0 0 0 611 20 CollisionSolid const 8832 20 CollisionSolid const 20 CollisionSolid const 0 0 576 0 0 0 0 0 0 0 0 0 0 612 10 LPoint3f * 8576 10 LPoint3f * 10 LPoint3f * 0 0 609 0 0 0 0 0 0 0 0 0 0 613 16 CollisionSolid * 8576 16 CollisionSolid * 16 CollisionSolid * 0 0 576 0 0 0 0 0 0 0 0 0 0 614 4 bool 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 615 4 void 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 616 17 LVector3f const * 8576 17 LVector3f const * 17 LVector3f const * 0 0 617 0 0 0 0 0 0 0 0 0 0 617 15 LVector3f const 8832 15 LVector3f const 15 LVector3f const 0 0 618 0 0 0 0 0 0 0 0 0 0 618 7 Normalf 2048 9 LVector3f 9 LVector3f 0 0 0 0 0 0 0 0 0 0 0 0 1086 // Filename: lvector3_src.h // Created by: drose (24Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector3 // Description : This is a three-component vector distance (as opposed // to a three-component point, which represents a // particular point in space). Some of the methods are // slightly different between LPoint3 and LVector3; in // particular, subtraction of two points yields a // vector, while addition of a vector and a point yields // a point. //////////////////////////////////////////////////////////////////// 619 20 BoundingVolume const 8832 20 BoundingVolume const 20 BoundingVolume const 0 0 620 0 0 0 0 0 0 0 0 0 0 620 14 BoundingVolume 2048 14 BoundingVolume 14 BoundingVolume 0 0 0 0 0 0 0 0 0 0 0 0 596 //////////////////////////////////////////////////////////////////// // Class : BoundingVolume // Description : This is an abstract class for any volume in any sense // which can be said to define the locality of reference // of a node in a graph, along with all of its // descendants. It is not necessarily a geometric // volume (although see GeometricBoundingVolume); this // is simply an abstract interface for bounds of any // sort. //////////////////////////////////////////////////////////////////// 621 22 BoundingVolume const * 8576 22 BoundingVolume const * 22 BoundingVolume const * 0 0 619 0 0 0 0 0 0 0 0 0 0 622 9 ostream * 8576 9 ostream * 9 ostream * 0 0 623 0 0 0 0 0 0 0 0 0 0 623 7 ostream 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0 624 3 int 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 625 13 atomic string 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 626 15 CollisionNode * 8576 15 CollisionNode * 15 CollisionNode * 0 0 578 0 0 0 0 0 0 0 0 0 0 627 29 BitMask< unsigned int, 32 > * 8576 29 BitMask< unsigned int, 32 > * 29 BitMask< unsigned int, 32 > * 0 0 628 0 0 0 0 0 0 0 0 0 0 628 9 BitMask32 2048 27 BitMask< unsigned int, 32 > 27 BitMask< unsigned int, 32 > 0 0 0 0 0 0 0 0 0 0 0 0 0 629 21 CollisionNode const * 8576 21 CollisionNode const * 21 CollisionNode const * 0 0 630 0 0 0 0 0 0 0 0 0 0 630 19 CollisionNode const 8832 19 CollisionNode const 19 CollisionNode const 0 0 578 0 0 0 0 0 0 0 0 0 0 631 20 CollisionTraverser * 8576 20 CollisionTraverser * 20 CollisionTraverser * 0 0 580 0 0 0 0 0 0 0 0 0 0 632 26 CollisionTraverser const * 8576 26 CollisionTraverser const * 26 CollisionTraverser const * 0 0 633 0 0 0 0 0 0 0 0 0 0 633 24 CollisionTraverser const 8832 24 CollisionTraverser const 24 CollisionTraverser const 0 0 580 0 0 0 0 0 0 0 0 0 0 634 16 NodePath const * 8576 16 NodePath const * 16 NodePath const * 0 0 635 0 0 0 0 0 0 0 0 0 0 635 14 NodePath const 8832 14 NodePath const 14 NodePath const 0 0 636 0 0 0 0 0 0 0 0 0 0 636 8 NodePath 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 2 735 736 0 0 0 0 4938 // // A NodePath is the fundamental unit of high-level interaction with // the scene graph. It encapsulates the complete path down to a node // from some other node, usually the root of the scene graph. This is // used to resolve ambiguities associated with instancing. // // NodePath also contains a number of handy high-level methods for // common scene-graph manipulations, such as reparenting, and common // state changes, such as repositioning. // // There are also a number of NodePath methods for finding nodes deep // within the tree by name or by type. These take a path string, // which at its simplest consists of a series of node names separated // by slashes, like a directory pathname. // // Each component of the path string may optionally consist of one of // the following special names, instead of a node name: // // * -- matches exactly one node, with any name. // ** -- matches any sequence of zero or more nodes. // +typename -- matches any node that is or derives from the given type. // -typename -- matches any node that is the given type exactly. // =tag -- matches any node that has the indicated tag. // =tag=value -- matches any node whose tag matches the indicated value. // // Furthermore, a node name may itself contain standard filename // globbing characters, like *, ?, and [a-z], that will be accepted as // a partial match. (In fact, the '*' special name may be seen as // just a special case of this.) The globbing characters may not be // used with the typename matches or with tag matches, but they may // be used to match a tag's value in the =tag=value syntax. // // The special characters "@@", appearing at the beginning of a node // name, indicate a stashed node. Normally, stashed nodes are not // returned by a find (but see the special flags, below), but a // stashed node may be found if it is explicitly named with its // leading @@ characters. By extension, "@@*" may be used to identify // any stashed node. // // Examples: // // "room//graph" will look for a node named "graph", which is a child // of an unnamed node, which is a child of a node named "room", which // is a child of the starting path. // // "**/red*" will look for any node anywhere in the tree (below the // starting path) with a name that begins with "red". // // "**/+PartBundleNode/**/head" will look for a node named "head", // somewhere below a PartBundleNode anywhere in the tree. // // // The search is always potentially ambiguous, even if the special // wildcard operators are not used, because there may be multiple // nodes in the tree with the same name. In general, in the case of // an ambiguity, the shortest path is preferred; when a method (such // as extend_by) must choose only only one of several possible paths, // it will choose the shortest available; on the other hand, when a // method (such as find_all_matches) is to return all of the matching // paths, it will sort them so that the shortest paths appear first in // the output. // // // Special flags. The entire string may optionally be followed by the // ";" character, followed by one or more of the following special // control flags, with no intervening spaces or punctuation: // // -h Do not return hidden nodes. // +h Do return hidden nodes. // -s Do not return stashed nodes unless explicitly referenced with @@. // +s Return stashed nodes even without any explicit @@ characters. // -i Node name comparisons are not case insensitive: case must match // exactly. // +i Node name comparisons are case insensitive: case is not important. // This affects matches against the node name only; node type // and tag strings are always case sensitive. // // The default flags are +h-s-i. // //////////////////////////////////////////////////////////////////// // Class : NodePath // Description : NodePath is the fundamental system for disambiguating // instances, and also provides a higher-level interface // for manipulating the scene graph. // // A NodePath is a list of connected nodes from the root // of the graph to any sub-node. Each NodePath // therefore uniquely describes one instance of a node. // // NodePaths themselves are lightweight objects that may // easily be copied and passed by value. Their data is // stored as a series of NodePathComponents that are // stored on the nodes. Holding a NodePath will keep a // reference count to all the nodes in the path. // However, if any node in the path is removed or // reparented (perhaps through a different NodePath), // the NodePath will automatically be updated to reflect // the changes. //////////////////////////////////////////////////////////////////// 637 18 CollisionHandler * 8576 18 CollisionHandler * 18 CollisionHandler * 0 0 574 0 0 0 0 0 0 0 0 0 0 638 10 NodePath * 8576 10 NodePath * 10 NodePath * 0 0 636 0 0 0 0 0 0 0 0 0 0 639 19 CollisionRecorder * 8576 19 CollisionRecorder * 19 CollisionRecorder * 0 0 582 0 0 0 0 0 0 0 0 0 0 640 21 CollisionVisualizer * 8576 21 CollisionVisualizer * 21 CollisionVisualizer * 0 0 606 0 0 0 0 0 0 0 0 0 0 641 25 CollisionRecorder const * 8576 25 CollisionRecorder const * 25 CollisionRecorder const * 0 0 642 0 0 0 0 0 0 0 0 0 0 642 23 CollisionRecorder const 8832 23 CollisionRecorder const 23 CollisionRecorder const 0 0 582 0 0 0 0 0 0 0 0 0 0 643 22 CollisionEntry const * 8576 22 CollisionEntry const * 22 CollisionEntry const * 0 0 644 0 0 0 0 0 0 0 0 0 0 644 20 CollisionEntry const 8832 20 CollisionEntry const 20 CollisionEntry const 0 0 584 0 0 0 0 0 0 0 0 0 0 645 11 PandaNode * 8576 11 PandaNode * 11 PandaNode * 0 0 579 0 0 0 0 0 0 0 0 0 0 646 16 CollisionEntry * 8576 16 CollisionEntry * 16 CollisionEntry * 0 0 584 0 0 0 0 0 0 0 0 0 0 647 5 float 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 648 16 LPoint3f const * 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 649 0 0 0 0 0 0 0 0 0 0 649 14 LPoint3f const 8832 14 LPoint3f const 14 LPoint3f const 0 0 609 0 0 0 0 0 0 0 0 0 0 650 11 LVector3f * 8576 11 LVector3f * 11 LVector3f * 0 0 618 0 0 0 0 0 0 0 0 0 0 651 23 CollisionHandlerEvent * 8576 23 CollisionHandlerEvent * 23 CollisionHandlerEvent * 0 0 586 0 0 0 0 0 0 0 0 0 0 652 29 CollisionHandlerEvent const * 8576 29 CollisionHandlerEvent const * 29 CollisionHandlerEvent const * 0 0 653 0 0 0 0 0 0 0 0 0 0 653 27 CollisionHandlerEvent const 8832 27 CollisionHandlerEvent const 27 CollisionHandlerEvent const 0 0 586 0 0 0 0 0 0 0 0 0 0 654 30 CollisionHandlerHighestEvent * 8576 30 CollisionHandlerHighestEvent * 30 CollisionHandlerHighestEvent * 0 0 587 0 0 0 0 0 0 0 0 0 0 655 26 CollisionHandlerPhysical * 8576 26 CollisionHandlerPhysical * 26 CollisionHandlerPhysical * 0 0 588 0 0 0 0 0 0 0 0 0 0 656 16 DriveInterface * 8576 16 DriveInterface * 16 DriveInterface * 0 0 657 0 0 0 0 0 0 0 0 0 0 657 14 DriveInterface 2048 14 DriveInterface 14 DriveInterface 0 0 0 0 0 0 0 0 0 0 0 0 411 //////////////////////////////////////////////////////////////////// // Class : DriveInterface // Description : This is a TFormer, similar to Trackball, that moves // around a transform matrix in response to mouse input. // The basic motion is on a horizontal plane, as if // driving a vehicle. //////////////////////////////////////////////////////////////////// 658 32 CollisionHandlerPhysical const * 8576 32 CollisionHandlerPhysical const * 32 CollisionHandlerPhysical const * 0 0 659 0 0 0 0 0 0 0 0 0 0 659 30 CollisionHandlerPhysical const 8832 30 CollisionHandlerPhysical const 30 CollisionHandlerPhysical const 0 0 588 0 0 0 0 0 0 0 0 0 0 660 23 CollisionHandlerFloor * 8576 23 CollisionHandlerFloor * 23 CollisionHandlerFloor * 0 0 589 0 0 0 0 0 0 0 0 0 0 661 29 CollisionHandlerFloor const * 8576 29 CollisionHandlerFloor const * 29 CollisionHandlerFloor const * 0 0 662 0 0 0 0 0 0 0 0 0 0 662 27 CollisionHandlerFloor const 8832 27 CollisionHandlerFloor const 27 CollisionHandlerFloor const 0 0 589 0 0 0 0 0 0 0 0 0 0 663 25 CollisionHandlerGravity * 8576 25 CollisionHandlerGravity * 25 CollisionHandlerGravity * 0 0 590 0 0 0 0 0 0 0 0 0 0 664 31 CollisionHandlerGravity const * 8576 31 CollisionHandlerGravity const * 31 CollisionHandlerGravity const * 0 0 665 0 0 0 0 0 0 0 0 0 0 665 29 CollisionHandlerGravity const 8832 29 CollisionHandlerGravity const 29 CollisionHandlerGravity const 0 0 590 0 0 0 0 0 0 0 0 0 0 666 24 CollisionHandlerPusher * 8576 24 CollisionHandlerPusher * 24 CollisionHandlerPusher * 0 0 591 0 0 0 0 0 0 0 0 0 0 667 30 CollisionHandlerPusher const * 8576 30 CollisionHandlerPusher const * 30 CollisionHandlerPusher const * 0 0 668 0 0 0 0 0 0 0 0 0 0 668 28 CollisionHandlerPusher const 8832 28 CollisionHandlerPusher const 28 CollisionHandlerPusher const 0 0 591 0 0 0 0 0 0 0 0 0 0 669 29 CollisionHandlerFluidPusher * 8576 29 CollisionHandlerFluidPusher * 29 CollisionHandlerFluidPusher * 0 0 592 0 0 0 0 0 0 0 0 0 0 670 23 CollisionHandlerQueue * 8576 23 CollisionHandlerQueue * 23 CollisionHandlerQueue * 0 0 593 0 0 0 0 0 0 0 0 0 0 671 29 CollisionHandlerQueue const * 8576 29 CollisionHandlerQueue const * 29 CollisionHandlerQueue const * 0 0 672 0 0 0 0 0 0 0 0 0 0 672 27 CollisionHandlerQueue const 8832 27 CollisionHandlerQueue const 27 CollisionHandlerQueue const 0 0 593 0 0 0 0 0 0 0 0 0 0 673 14 Planef const * 8576 14 Planef const * 14 Planef const * 0 0 674 0 0 0 0 0 0 0 0 0 0 674 12 Planef const 8832 12 Planef const 12 Planef const 0 0 675 0 0 0 0 0 0 0 0 0 0 675 6 Planef 2048 6 Planef 6 Planef 0 0 0 0 0 0 0 0 0 0 0 0 785 // Filename: plane_src.h // Created by: mike (09Jan97) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : Plane // Description : An abstract mathematical description of a plane. A // plane is defined by the equation Ax + By + Cz + D = 0. //////////////////////////////////////////////////////////////////// 676 18 CollisionDSSolid * 8576 18 CollisionDSSolid * 18 CollisionDSSolid * 0 0 594 0 0 0 0 0 0 0 0 0 0 677 24 CollisionDSSolid const * 8576 24 CollisionDSSolid const * 24 CollisionDSSolid const * 0 0 678 0 0 0 0 0 0 0 0 0 0 678 22 CollisionDSSolid const 8832 22 CollisionDSSolid const 22 CollisionDSSolid const 0 0 594 0 0 0 0 0 0 0 0 0 0 679 14 CollisionBox * 8576 14 CollisionBox * 14 CollisionBox * 0 0 595 0 0 0 0 0 0 0 0 0 0 680 20 CollisionBox const * 8576 20 CollisionBox const * 20 CollisionBox const * 0 0 681 0 0 0 0 0 0 0 0 0 0 681 18 CollisionBox const 8832 18 CollisionBox const 18 CollisionBox const 0 0 595 0 0 0 0 0 0 0 0 0 0 682 8 Planef * 8576 8 Planef * 8 Planef * 0 0 675 0 0 0 0 0 0 0 0 0 0 683 17 CollisionSphere * 8576 17 CollisionSphere * 17 CollisionSphere * 0 0 596 0 0 0 0 0 0 0 0 0 0 684 23 CollisionSphere const * 8576 23 CollisionSphere const * 23 CollisionSphere const * 0 0 685 0 0 0 0 0 0 0 0 0 0 685 21 CollisionSphere const 8832 21 CollisionSphere const 21 CollisionSphere const 0 0 596 0 0 0 0 0 0 0 0 0 0 686 20 CollisionInvSphere * 8576 20 CollisionInvSphere * 20 CollisionInvSphere * 0 0 597 0 0 0 0 0 0 0 0 0 0 687 14 CollisionRay * 8576 14 CollisionRay * 14 CollisionRay * 0 0 598 0 0 0 0 0 0 0 0 0 0 688 20 CollisionRay const * 8576 20 CollisionRay const * 20 CollisionRay const * 0 0 689 0 0 0 0 0 0 0 0 0 0 689 18 CollisionRay const 8832 18 CollisionRay const 18 CollisionRay const 0 0 598 0 0 0 0 0 0 0 0 0 0 690 10 LensNode * 8576 10 LensNode * 10 LensNode * 0 0 691 0 0 0 0 0 0 0 0 0 0 691 8 LensNode 2048 8 LensNode 8 LensNode 0 0 0 0 0 0 0 0 0 0 0 0 396 //////////////////////////////////////////////////////////////////// // Class : LensNode // Description : A node that contains a Lens. The most important // example of this kind of node is a Camera, but other // kinds of nodes also contain a lens (for instance, a // Spotlight). //////////////////////////////////////////////////////////////////// 692 16 LPoint2f const * 8576 16 LPoint2f const * 16 LPoint2f const * 0 0 693 0 0 0 0 0 0 0 0 0 0 693 14 LPoint2f const 8832 14 LPoint2f const 14 LPoint2f const 0 0 694 0 0 0 0 0 0 0 0 0 0 694 9 TexCoordf 2048 8 LPoint2f 8 LPoint2f 0 0 0 0 0 0 0 0 0 0 0 0 706 // Filename: lpoint2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint2 // Description : This is a two-component point in space. //////////////////////////////////////////////////////////////////// 695 15 CollisionLine * 8576 15 CollisionLine * 15 CollisionLine * 0 0 599 0 0 0 0 0 0 0 0 0 0 696 22 CollisionPlane const * 8576 22 CollisionPlane const * 22 CollisionPlane const * 0 0 697 0 0 0 0 0 0 0 0 0 0 697 20 CollisionPlane const 8832 20 CollisionPlane const 20 CollisionPlane const 0 0 600 0 0 0 0 0 0 0 0 0 0 698 16 CollisionPlane * 8576 16 CollisionPlane * 16 CollisionPlane * 0 0 600 0 0 0 0 0 0 0 0 0 0 699 18 CollisionPolygon * 8576 18 CollisionPolygon * 18 CollisionPolygon * 0 0 601 0 0 0 0 0 0 0 0 0 0 700 18 LVecBase3f const * 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 701 0 0 0 0 0 0 0 0 0 0 701 16 LVecBase3f const 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 702 0 0 0 0 0 0 0 0 0 0 702 9 RGBColorf 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 754 // Filename: lvecBase3_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVecBase3 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 703 24 CollisionPolygon const * 8576 24 CollisionPolygon const * 24 CollisionPolygon const * 0 0 704 0 0 0 0 0 0 0 0 0 0 704 22 CollisionPolygon const 8832 22 CollisionPolygon const 22 CollisionPolygon const 0 0 601 0 0 0 0 0 0 0 0 0 0 705 19 CollisionParabola * 8576 19 CollisionParabola * 19 CollisionParabola * 0 0 602 0 0 0 0 0 0 0 0 0 0 706 17 Parabolaf const * 8576 17 Parabolaf const * 17 Parabolaf const * 0 0 707 0 0 0 0 0 0 0 0 0 0 707 15 Parabolaf const 8832 15 Parabolaf const 15 Parabolaf const 0 0 708 0 0 0 0 0 0 0 0 0 0 708 9 Parabolaf 2048 9 Parabolaf 9 Parabolaf 0 0 0 0 0 0 0 0 0 0 0 0 920 // Filename: parabola_src.h // Created by: drose (10Oct07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : Parabola // Description : An abstract mathematical description of a parabola, // particularly useful for describing arcs of // projectiles. // // The parabolic equation, given parametrically here, is // P = At^2 + Bt + C. //////////////////////////////////////////////////////////////////// 709 25 CollisionParabola const * 8576 25 CollisionParabola const * 25 CollisionParabola const * 0 0 710 0 0 0 0 0 0 0 0 0 0 710 23 CollisionParabola const 8832 23 CollisionParabola const 23 CollisionParabola const 0 0 602 0 0 0 0 0 0 0 0 0 0 711 20 CollisionFloorMesh * 8576 20 CollisionFloorMesh * 20 CollisionFloorMesh * 0 0 603 0 0 0 0 0 0 0 0 0 0 712 12 unsigned int 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 713 26 CollisionFloorMesh const * 8576 26 CollisionFloorMesh const * 26 CollisionFloorMesh const * 0 0 714 0 0 0 0 0 0 0 0 0 0 714 24 CollisionFloorMesh const 8832 24 CollisionFloorMesh const 24 CollisionFloorMesh const 0 0 603 0 0 0 0 0 0 0 0 0 0 715 14 LPoint3d const 8832 14 LPoint3d const 14 LPoint3d const 0 0 716 0 0 0 0 0 0 0 0 0 0 716 7 Vertexd 2048 8 LPoint3d 8 LPoint3d 0 0 0 0 0 0 0 0 0 0 0 0 1083 // Filename: lpoint3_src.h // Created by: drose (25Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint3 // Description : This is a three-component point in space (as opposed // to a three-component vector, which represents a // direction and a distance). Some of the methods are // slightly different between LPoint3 and LVector3; in // particular, subtraction of two points yields a // vector, while addition of a vector and a point yields // a point. //////////////////////////////////////////////////////////////////// 717 16 LPoint3d const * 8576 16 LPoint3d const * 16 LPoint3d const * 0 0 715 0 0 0 0 0 0 0 0 0 0 718 18 CollisionSegment * 8576 18 CollisionSegment * 18 CollisionSegment * 0 0 604 0 0 0 0 0 0 0 0 0 0 719 24 CollisionSegment const * 8576 24 CollisionSegment const * 24 CollisionSegment const * 0 0 720 0 0 0 0 0 0 0 0 0 0 720 22 CollisionSegment const 8832 22 CollisionSegment const 22 CollisionSegment const 0 0 604 0 0 0 0 0 0 0 0 0 0 721 15 CollisionTube * 8576 15 CollisionTube * 15 CollisionTube * 0 0 605 0 0 0 0 0 0 0 0 0 0 722 21 CollisionTube const * 8576 21 CollisionTube const * 21 CollisionTube const * 0 0 723 0 0 0 0 0 0 0 0 0 0 723 19 CollisionTube const 8832 19 CollisionTube const 19 CollisionTube const 0 0 605 0 0 0 0 0 0 0 0 0 0 724 27 CollisionVisualizer const * 8576 27 CollisionVisualizer const * 27 CollisionVisualizer const * 0 0 725 0 0 0 0 0 0 0 0 0 0 725 25 CollisionVisualizer const 8832 25 CollisionVisualizer const 25 CollisionVisualizer const 0 0 606 0 0 0 0 0 0 0 0 0 0 0 0 11 726 0 21 10 get_solids 14 get_num_solids 9 get_solid 727 0 40 13 get_colliders 17 get_num_colliders 12 get_collider 728 0 102 15 get_in_patterns 19 get_num_in_patterns 14 get_in_pattern 729 0 102 18 get_again_patterns 22 get_num_again_patterns 17 get_again_pattern 730 0 102 16 get_out_patterns 20 get_num_out_patterns 15 get_out_pattern 731 0 176 11 get_entries 15 get_num_entries 9 get_entry 732 0 252 10 get_points 14 get_num_points 9 get_point 733 0 271 12 get_vertices 16 get_num_vertices 10 get_vertex 734 0 271 13 get_triangles 17 get_num_triangles 12 get_triangle 735 0 381 9 get_nodes 13 get_num_nodes 8 get_node 736 0 381 13 get_ancestors 13 get_num_nodes 12 get_ancestor