Panda3D implements a superclass called PandaNode
, from which many other classes inherit. Collectively, all of these classes are referred to as nodes. Some examples include ModelRoots
, which are the root of models (surprise!), GeomNodes
, which store vertex data and other information for geometry, CameraNodes
, which serve as the windows through which we see the world within Panda3D,
CollisionNodes
, which allow items in that world to interact with one another, and there are many more. Each of these node types have methods specific to them for setting attributes that only node type require. ModelRoots
don't have methods for setting lens attributes, but CameraNodes
do.
There are also attributes that every kind of node needs, such as the node's position and orientation in the world. These attributes are not stored in the nodes themselves. Instead, they are kept in a handler class, called a NodePath
. We will often interact with the NodePath
instead of the node itself because...