Simulant  21.12-1292
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
Classes | Public Member Functions | Protected Member Functions | List of all members
smlt::Partitioner Class Referenceabstract
Inheritance diagram for smlt::Partitioner:
smlt::RefCounted< Partitioner > smlt::StageNode smlt::Loadable smlt::TransformListener smlt::TwoPhaseConstructed smlt::BoundableEntity smlt::Updateable smlt::Printable smlt::Nameable smlt::DestroyableObject smlt::generic::Identifiable< StageNodeID > smlt::TwoPhaseConstructed smlt::FrustumCuller

Classes

struct  WriteSlots
 

Public Member Functions

 Partitioner (Scene *owner, StageNodeType node_type)
 
void add_stage_node (StageNode *node)
 
void update_stage_node (StageNode *node, const AABB &bounds)
 
void remove_stage_node (StageNode *node)
 
void _apply_writes ()
 
- Public Member Functions inherited from smlt::TwoPhaseConstructed
bool init ()
 
void clean_up ()
 
- Public Member Functions inherited from smlt::StageNode
std::vector< StageNode * > find_descendents_by_types (std::initializer_list< StageNodeType > type_list) const
 
StageNodefind_descendent_with_id (StageNodeID id)
 
const StageNodefind_descendent_with_id (StageNodeID id) const
 
bool is_root () const
 
StageNodePath node_path () const
 
StageNodefirst_sibling ()
 
const StageNodefirst_sibling () const
 
StageNodenext_sibling ()
 
const StageNodenext_sibling () const
 
StageNodeparent ()
 
const StageNodeparent () const
 
StageNodefirst_child ()
 
const StageNodefirst_child () const
 
StageNodelast_child ()
 
const StageNodelast_child () const
 
const StageNodechild_at (std::size_t i) const
 
std::size_t child_count () const
 
bool has_parent () const
 
void remove_from_parent ()
 
std::list< StageNode * > detach ()
 
void set_parent (StageNode *new_parent, TransformRetainMode transform_retain=TRANSFORM_RETAIN_MODE_LOSE)
 
template<typename T , typename... Args>
T * create_child (Args &&... args)
 
template<typename T >
T * create_child ()
 
template<typename T >
T * create_child (Params args)
 
void adopt_children (StageNode *node)
 
template<typename... Params>
void adopt_children (StageNode *node, Params... args)
 
template<typename T , typename... Args>
T * create_mixin (Args &&... args)
 
StageNodecreate_mixin (const std::string &node_name, const Params &params)
 
StageNodefind_mixin (const std::string &name) const
 
template<typename T >
T * find_mixin () const
 
std::size_t mixin_count () const
 
StageNodebase ()
 
const StageNodebase () const
 
bool is_mixin () const
 
bool generates_renderables_for_descendents () const
 
std::size_t generate_renderables (batcher::RenderQueue *render_queue, const Camera *, const Viewport *viewport, const DetailLevel detail_level, Light **lights, const std::size_t light_count)
 
void update (float dt) override final
 
void late_update (float dt) override final
 
void fixed_update (float step) override final
 
template<typename T >
size_t count_nodes_by_type (bool include_destroyed=false) const
 
bool is_part_of_active_pipeline () const
 
StageNodeload_tree (const Path &path, const TreeLoadOptions &opts=TreeLoadOptions())
 
AncestorIteratorPair each_ancestor ()
 
AncestorIteratorPair each_ancestor () const
 
DescendentIteratorPair each_descendent ()
 
DescendentIteratorPair each_descendent () const
 
SiblingIteratorPair each_sibling ()
 
SiblingIteratorPair each_sibling () const
 
ChildIteratorPair each_child ()
 
ChildIteratorPair each_child () const
 
std::string repr () const override
 
 StageNode (Scene *owner, StageNodeType node_type)
 
StageNodeType node_type () const
 
bool is_visible () const
 
bool is_intended_visible () const
 
void set_visible (bool visible)
 
smlt::Promise< void > destroy_after (const Seconds &seconds)
 
bool parent_is_scene () const
 
const AABB transformed_aabb () const override
 
const AABBaabb () const override
 
ShadowCast shadow_cast () const
 
void set_shadow_cast (ShadowCast cast)
 
ShadowReceive shadow_receive () const
 
void set_shadow_receive (ShadowReceive receive)
 
StageNodefind_descendent_with_name (const std::string &name)
 
void set_cullable (bool v)
 
bool is_cullable () const
 
void set_precedence (int16_t precedence)
 
int16_t precedence () const
 
Transformget_transform () const
 
 S_DEFINE_PROPERTY (transform, &StageNode::get_transform)
 
- Public Member Functions inherited from smlt::generic::Identifiable< StageNodeID >
 Identifiable (StageNodeID id)
 
StageNodeID id () const
 
virtual bool operator== (const Identifiable< StageNodeID > &rhs) const
 
virtual bool operator< (const Identifiable< StageNodeID > &rhs) const
 
- Public Member Functions inherited from smlt::DestroyableObject
 DEFINE_SIGNAL (DestroyedSignal, signal_destroyed)
 
bool destroy ()
 
bool destroy_immediately ()
 
bool is_destroyed () const
 
- Public Member Functions inherited from smlt::Nameable
void set_name (const std::string &name)
 
const std::string & name () const
 
bool has_name () const
 
- Public Member Functions inherited from smlt::BoundableEntity
virtual const Vec3 center () const
 
- Public Member Functions inherited from smlt::Boundable
virtual float width () const
 
virtual float height () const
 
virtual float depth () const
 
virtual float half_width () const
 
virtual float half_height () const
 
virtual float half_depth () const
 
virtual float diameter () const
 
virtual float radius () const
 

Protected Member Functions

virtual void apply_staged_write (const StagedWrite &write)=0
 
void stage_write (StageNode *node, const StagedWrite &op)
 
bool do_generates_renderables_for_descendents () const override
 
- Protected Member Functions inherited from smlt::RefCounted< Partitioner >
 RefCounted (Args &&...)
 
- Protected Member Functions inherited from smlt::StageNode
virtual bool on_create (Params params)=0
 
virtual bool on_destroy () override
 
virtual void on_update (float dt) override
 
virtual void on_fixed_update (float step) override
 
virtual void on_late_update (float dt) override
 
void on_transformation_changed () override
 
void on_transformation_change_attempted () override
 
template<typename N >
bool clean_params (Params &params)
 
Sceneget_scene () const
 
void recalc_bounds_if_necessary () const
 
void mark_transformed_aabb_dirty ()
 

Additional Inherited Members

- Public Types inherited from smlt::RefCounted< Partitioner >
typedef std::shared_ptr< Partitionerptr
 
typedef std::weak_ptr< Partitionerwptr
 
- Public Types inherited from smlt::generic::Identifiable< StageNodeID >
typedef StageNodeID id_type
 
- Static Public Member Functions inherited from smlt::RefCounted< Partitioner >
static RefCounted< Partitioner >::ptr create (Args &&... args)
 
static RefCounted< Partitioner >::ptr create ()
 
- Public Attributes inherited from smlt::StageNode
Property< generic::DataCarrier StageNode::* > data
 
Property< Scene *StageNode::* > scene = {this, &StageNode::owner_}
 

The documentation for this class was generated from the following files: