neoGFX
C++ GPU-oriented GUI library and app/game creation framework.
neogfx::i_sprite Class Referenceabstract

#include <i_sprite.hpp>

Inheritance diagram for neogfx::i_sprite:
neogfx::i_shape neogfx::i_physical_object neogfx::i_game_object neogfx::i_mesh neogfx::i_collidable_object neogfx::i_game_object neogfx::sprite

Public Types

typedef i_physical_object::time_interval time_interval
 
typedef i_physical_object::optional_time_interval optional_time_interval
 
typedef i_physical_object::step_time_interval step_time_interval
 
typedef i_physical_object::optional_step_time_interval optional_step_time_interval
 
- Public Types inherited from neogfx::i_shape
typedef std::size_t frame_index
 
typedef scalar time_interval
 
typedef std::pair< frame_index, time_intervalanimation_frame
 
typedef std::vector< animation_frameanimation_frames
 
typedef boost::optional< time_intervaloptional_time_interval
 
- Public Types inherited from neogfx::i_physical_object
typedef scalar time_interval
 
typedef boost::optional< time_intervaloptional_time_interval
 
typedef int64_t step_time_interval
 
typedef boost::optional< step_time_intervaloptional_step_time_interval
 

Public Member Functions

virtual ~i_sprite ()
 
virtual bool update (const optional_time_interval &aNow, const vec3 &aForce)=0
 
virtual const optional_time_intervalupdate_time () const =0
 
virtual void set_update_time (const optional_time_interval &aLastUpdateTime)=0
 
virtual vec3 origin () const =0
 
virtual vec3 position () const =0
 
virtual void set_origin (const vec3 &aOrigin)=0
 
virtual void set_position (const vec3 &aPosition)=0
 
virtual const optional_pathpath () const =0
 
virtual void set_path (const optional_path &aPath)=0
 
- Public Member Functions inherited from neogfx::i_shape
virtual ~i_shape ()
 
virtual const i_shape_containercontainer () const =0
 
virtual i_shape_containercontainer ()=0
 
virtual bool is_tag () const =0
 
virtual i_shapetag_of () const =0
 
virtual void set_tag_of (i_shape &aTagOf, const vec3 &aOffset=vec3{})=0
 
virtual const vec3tag_offset () const =0
 
virtual void set_tag_offset (const vec3 &aOffset)=0
 
virtual void unset_tag_of ()=0
 
virtual frame_index frame_count () const =0
 
virtual const i_shape_frameshape_frame (frame_index aFrameIndex) const =0
 
virtual i_shape_frameshape_frame (frame_index aFrameIndex)=0
 
virtual void add_frame (i_shape_frame &aFrame)=0
 
virtual void add_frame (std::shared_ptr< i_shape_frame > aFrame)=0
 
virtual void replace_frame (frame_index aFrameIndex, i_shape_frame &aFrame)=0
 
virtual void replace_frame (frame_index aFrameIndex, std::shared_ptr< i_shape_frame > aFrame)=0
 
virtual void remove_frame (frame_index aFrameIndex)=0
 
virtual const animation_framesanimation () const =0
 
virtual bool repeat_animation () const =0
 
virtual const animation_framecurrent_animation_frame () const =0
 
virtual bool has_animation_finished () const =0
 
virtual void animation_finished ()=0
 
virtual frame_index current_frame_index () const =0
 
virtual const i_shape_framecurrent_frame () const =0
 
virtual i_shape_framecurrent_frame ()=0
 
virtual vec3 extents () const =0
 
virtual rect bounding_box_2d (bool aWithPosition=true) const =0
 
virtual void set_animation (const animation_frames &aAnimation)=0
 
virtual void set_current_frame (frame_index aFrameIndex)=0
 
virtual void clear_extents ()=0
 
virtual void set_extents (const vec3 &aExtents)=0
 
virtual bool has_transformation_matrix () const =0
 
virtual void clear_transformation_matrix ()=0
 
virtual void set_transformation_matrix (const mat33 &aTransformationMatrix)=0
 
virtual void set_transformation_matrix (const mat44 &aTransformationMatrix)=0
 
virtual bool update (time_interval aNow)=0
 
virtual void paint (graphics_context &aGraphicsContext) const =0
 
void set_origin (const vec2 &aOrigin)
 
void set_origin (const point &aOrigin)
 
void set_position (const vec2 &aPosition)
 
void set_position (const point &aPosition)
 
void set_extents (const vec2 &aExtents)
 
void set_extents (const size &aExtents)
 
- Public Member Functions inherited from neogfx::i_game_object
virtual ~i_game_object ()
 
virtual object_category category () const =0
 
virtual const i_shapeas_shape () const =0
 
virtual i_shapeas_shape ()=0
 
virtual const i_collidable_objectas_collidable_object () const =0
 
virtual i_collidable_objectas_collidable_object ()=0
 
virtual const i_physical_objectas_physical_object () const =0
 
virtual i_physical_objectas_physical_object ()=0
 
virtual const object_typetype () const
 
virtual bool killed () const =0
 
virtual void kill ()=0
 
- Public Member Functions inherited from neogfx::i_mesh
virtual vertex_list_pointer vertices () const =0
 
virtual texture_list_pointer textures () const =0
 
virtual face_list faces () const =0
 
virtual face_list active_faces () const =0
 
virtual void activate_faces (face_list aActiveFaces) const =0
 
virtual mat44 transformation_matrix () const =0
 
virtual const vertex_listtransformed_vertices () const =0
 
virtual void set_vertices (vertex_list_pointer aVertices)=0
 
virtual void set_textures (texture_list_pointer aTextures)=0
 
virtual void set_faces (face_list aFaces)=0
 
- Public Member Functions inherited from neogfx::i_physical_object
virtual ~i_physical_object ()
 
virtual vec3 angle_radians () const =0
 
virtual vec3 angle_degrees () const =0
 
virtual vec3 velocity () const =0
 
virtual vec3 acceleration () const =0
 
virtual vec3 spin_radians () const =0
 
virtual vec3 spin_degrees () const =0
 
virtual scalar mass () const =0
 
virtual void set_angle_radians (const vec3 &aAngle)=0
 
virtual void set_angle_degrees (const vec3 &aAngle)=0
 
virtual void set_velocity (const vec3 &aVelocity)=0
 
virtual void set_acceleration (const vec3 &aAcceleration)=0
 
virtual void set_spin_radians (const vec3 &aSpin)=0
 
virtual void set_spin_degrees (const vec3 &aSpin)=0
 
virtual void set_mass (scalar aMass)=0
 
virtual void clear_vertices_cache ()=0
 
void set_angle_radians (scalar aAngle)
 
void set_angle_degrees (scalar aAngle)
 
void set_spin_radians (scalar aSpin)
 
void set_spin_degrees (scalar aSpin)
 
- Public Member Functions inherited from neogfx::i_collidable_object
virtual const neogfx::aabbaabb () const =0
 
virtual const neogfx::aabbsaved_aabb () const =0
 
virtual void save_aabb ()=0
 
virtual void clear_saved_aabb ()=0
 
virtual bool collidable () const =0
 
virtual uint64_t collision_mask () const
 
virtual void set_collision_mask (uint64_t)
 
virtual bool has_collided (const i_collidable_object &aOther) const =0
 
virtual void collided (i_collidable_object &aOther)=0
 
virtual uint32_t collision_update_id () const =0
 
virtual void set_collision_update_id (uint32_t aCollisionCheckId)=0
 
virtual void clear_aabb_cache ()=0
 

Detailed Description

Definition at line 31 of file i_sprite.hpp.

Member Typedef Documentation

◆ optional_step_time_interval

◆ optional_time_interval

◆ step_time_interval

◆ time_interval

Constructor & Destructor Documentation

◆ ~i_sprite()

virtual neogfx::i_sprite::~i_sprite ( )
inlinevirtual

Definition at line 41 of file i_sprite.hpp.

Member Function Documentation

◆ origin()

virtual vec3 neogfx::i_sprite::origin ( ) const
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ path()

virtual const optional_path& neogfx::i_sprite::path ( ) const
pure virtual

Implemented in neogfx::sprite.

◆ position()

virtual vec3 neogfx::i_sprite::position ( ) const
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ set_origin()

virtual void neogfx::i_sprite::set_origin ( const vec3 aOrigin)
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ set_path()

virtual void neogfx::i_sprite::set_path ( const optional_path aPath)
pure virtual

Implemented in neogfx::sprite.

◆ set_position()

virtual void neogfx::i_sprite::set_position ( const vec3 aPosition)
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ set_update_time()

virtual void neogfx::i_sprite::set_update_time ( const optional_time_interval aLastUpdateTime)
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ update()

virtual bool neogfx::i_sprite::update ( const optional_time_interval aNow,
const vec3 aForce 
)
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.

◆ update_time()

virtual const optional_time_interval& neogfx::i_sprite::update_time ( ) const
pure virtual

Implements neogfx::i_physical_object.

Implemented in neogfx::sprite.


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