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

Pipeline Class Reference

This class manages a staged pipeline of data, for instance the render pipeline, so that each stage of the pipeline can simultaneously access different copies of the same data. More...

#include <pipeline.h>

Inheritance diagram for Pipeline:

Namable List of all members.

Public Member Functions

 Pipeline (const string &name)
virtual ~Pipeline ()
virtual void cycle ()
 Flows all the pipeline data down to the next stage.

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

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

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


Static Public Member Functions

Pipeline * get_render_pipeline ()
 Returns a pointer to the global render pipeline.

TypeHandle get_class_type ()
void init_type ()

Static Private Member Functions

void make_render_pipeline ()

Static Private Attributes

Pipeline * _render_pipeline = (Pipeline *)NULL

Detailed Description

This class manages a staged pipeline of data, for instance the render pipeline, so that each stage of the pipeline can simultaneously access different copies of the same data.

It actually maintains a collection of PipelineCycler objects, and manages the turning of all of them at once.

There is one default Pipeline object, the render pipeline. Other specialty pipelines may be created as needed.

Definition at line 53 of file pipeline.h.


Constructor & Destructor Documentation

Pipeline::Pipeline const string &  name  ) 
 

Definition at line 35 of file pipeline.cxx.

Pipeline::~Pipeline  )  [virtual]
 

Definition at line 49 of file pipeline.cxx.


Member Function Documentation

void Namable::clear_name  )  [inline, inherited]
 

Resets the Namable's name to empty.

Definition at line 82 of file namable.I.

References Namable::_name, and INLINE.

void Pipeline::cycle  )  [virtual]
 

Flows all the pipeline data down to the next stage.

Definition at line 61 of file pipeline.cxx.

TypeHandle Namable::get_class_type void   )  [inline, static, inherited]
 

Reimplemented in AnimBundle, AnimBundleNode, AnimChannel< SwitchType >, AnimChannelBase, AnimChannelFixed< SwitchType >, AnimChannelMatrixXfmTable, AnimChannelScalarTable, AnimGroup, MovingPart< SwitchType >, MovingPartBase, MovingPartMatrix, MovingPartScalar, PartBundle, PartBundleNode, PartGroup, Character, CharacterJoint, CharacterJointBundle, CharacterSlider, CollisionNode, AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, DataNode, ProjectionScreen, EggAnimData, EggBin, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggMaterial, EggNamedObject, EggNode, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSAnimData, EggSurface, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, EggXfmSAnim, ImageBuffer, PixelBuffer, Texture, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, NurbsPPCurve, ParametricCurve, PiecewiseCurve, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, ModelNode, ModelRoot, PandaNode, PlaneNode, PointLight, SelectiveChildNode, SequenceNode, Spotlight, SwitchNode, PGButton, PGEntry, PGItem, PGMouseWatcherBackground, PGMouseWatcherRegion, PGTop, PGWaitBar, ActorNode, ForceNode, PhysicalNode, TextFont, TextNode, ButtonThrower, DriveInterface, MouseWatcher, MouseWatcherRegion, Trackball, Transform2SG, AnimChannel< ACScalarSwitchType >, AnimChannel< ACMatrixSwitchType >, MovingPart< ACScalarSwitchType >, and MovingPart< ACMatrixSwitchType >.

Definition at line 60 of file namable.h.

Referenced by MouseWatcherRegion::init_type().

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

Definition at line 109 of file namable.I.

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

Pipeline * Pipeline::get_render_pipeline  )  [inline, static]
 

Returns a pointer to the global render pipeline.

Definition at line 32 of file pipeline.I.

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

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

Definition at line 97 of file namable.I.

References Namable::get_name(), and INLINE.

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

void Namable::init_type void   )  [inline, static, inherited]
 

Reimplemented in AnimBundle, AnimBundleNode, AnimChannel< SwitchType >, AnimChannelBase, AnimChannelFixed< SwitchType >, AnimChannelMatrixXfmTable, AnimChannelScalarTable, AnimGroup, MovingPart< SwitchType >, MovingPartBase, MovingPartMatrix, MovingPartScalar, PartBundle, PartBundleNode, PartGroup, Character, CharacterJoint, CharacterJointBundle, CharacterSlider, CollisionNode, AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, DataNode, ProjectionScreen, EggAnimData, EggBin, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggMaterial, EggNamedObject, EggNode, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSAnimData, EggSurface, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, EggXfmSAnim, ImageBuffer, PixelBuffer, Texture, ClassicNurbsCurve, CubicCurveseg, HermiteCurve, NurbsPPCurve, ParametricCurve, PiecewiseCurve, RopeNode, AmbientLight, Camera, DirectionalLight, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, ModelNode, ModelRoot, PandaNode, PlaneNode, PointLight, SelectiveChildNode, SequenceNode, Spotlight, SwitchNode, PGButton, PGEntry, PGItem, PGMouseWatcherBackground, PGMouseWatcherRegion, PGTop, PGWaitBar, ActorNode, ForceNode, PhysicalNode, TextFont, TextNode, ButtonThrower, DriveInterface, MouseWatcher, MouseWatcherRegion, Trackball, Transform2SG, AnimChannel< ACScalarSwitchType >, AnimChannel< ACMatrixSwitchType >, MovingPart< ACScalarSwitchType >, and MovingPart< ACMatrixSwitchType >.

Definition at line 63 of file namable.h.

References INLINE.

void Pipeline::make_render_pipeline  )  [static, private]
 

Definition at line 73 of file pipeline.cxx.

void Namable::output ostream &  out  )  const [inline, inherited]
 

Outputs the Namable.

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

Reimplemented in BuilderBucket, AnimBundle, AnimChannelBase, AnimChannelFixed< SwitchType >, AnimGroup, PartBundle, CollisionNode, ButtonNode, HermiteCurve, RopeNode, Fog, GeomNode, LensNode, LightLensNode, LightNode, LODNode, PandaNode, PlaneNode, MouseWatcher, and MouseWatcherRegion.

Definition at line 126 of file namable.I.

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

Definition at line 69 of file namable.I.

References Namable::_name.

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


Member Data Documentation

Pipeline * Pipeline::_render_pipeline = (Pipeline *)NULL [static, private]
 

Definition at line 24 of file pipeline.cxx.


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