// Filename: bulletBaseCharacterControllerNode.cxx // Created by: enn0x (21Nov10) // //////////////////////////////////////////////////////////////////// // // 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." // //////////////////////////////////////////////////////////////////// #include "bulletBaseCharacterControllerNode.h" TypeHandle BulletBaseCharacterControllerNode::_type_handle; //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// BulletBaseCharacterControllerNode:: BulletBaseCharacterControllerNode(const char *name) : PandaNode(name) { // Default collide mask set_into_collide_mask(CollideMask::all_on()); } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::get_legal_collide_mask // Access: Public, virtual // Description: Returns the subset of CollideMask bits that may be // set for this particular type of PandaNode. For // CharacterControllerNodes this returns all bits on. //////////////////////////////////////////////////////////////////// CollideMask BulletBaseCharacterControllerNode:: get_legal_collide_mask() const { return CollideMask::all_on(); } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_flatten // Access: Public, Virtual // Description: Returns true if it is generally safe to flatten out // this particular kind of Node by duplicating // instances, false otherwise (for instance, a Camera // cannot be safely flattened, because the Camera // pointer itself is meaningful). //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_flatten() const { return false; } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_modify_transform // Access: Public, Virtual // Description: Returns true if it is safe to automatically adjust // the transform on this kind of node. Usually, this is // only a bad idea if the user expects to find a // particular transform on the node. // // ModelNodes with the preserve_transform flag set are // presently the only kinds of nodes that should not // have their transform even adjusted. //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_modify_transform() const { return false; } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_combine // Access: Public, Virtual // Description: Returns true if it is generally safe to combine this // particular kind of PandaNode with other kinds of // PandaNodes of compatible type, adding children or // whatever. For instance, an LODNode should not be // combined with any other PandaNode, because its set of // children is meaningful. //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_combine() const { return false; } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_combine_children // Access: Public, Virtual // Description: Returns true if it is generally safe to combine the // children of this PandaNode with each other. For // instance, an LODNode's children should not be // combined with each other, because the set of children // is meaningful. //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_combine_children() const { return false; } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_flatten_below // Access: Public, Virtual // Description: Returns true if a flatten operation may safely // continue past this node, or false if nodes below this // node may not be molested. //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_flatten_below() const { return false; } //////////////////////////////////////////////////////////////////// // Function: BulletBaseCharacterControllerNode::safe_to_transform // Access: Public, Virtual // Description: Returns true if it is generally safe to transform // this particular kind of Node by calling the xform() // method, false otherwise. For instance, it's usually // a bad idea to attempt to xform a Character. //////////////////////////////////////////////////////////////////// bool BulletBaseCharacterControllerNode:: safe_to_transform() const { return false; }