\hypertarget{group___scene}{}\section{Scene}
\label{group___scene}\index{Scene@{Scene}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_ogre_1_1_axis_aligned_box_scene_query}{Ogre\+::\+Axis\+Aligned\+Box\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Specialises the \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} class for querying within an axis aligned box. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_base_instance_batch_v_t_f}{Ogre\+::\+Base\+Instance\+Batch\+V\+TF}
\begin{DoxyCompactList}\small\item\em Instancing implementation using vertex texture through Vertex \hyperlink{class_ogre_1_1_texture}{Texture} Fetch (V\+TF) This implementation has the following advantages\+: Supports huge amount of instances per batch Supports skinning even with huge ammounts of instances per batch Doesn\textquotesingle{}t need shader constants registers. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_camera}{Ogre\+::\+Camera}
\begin{DoxyCompactList}\small\item\em A viewpoint from which the scene will be rendered. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_axis_aligned_box_scene_query}{Ogre\+::\+Default\+Axis\+Aligned\+Box\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Default implementation of \hyperlink{class_ogre_1_1_axis_aligned_box_scene_query}{Axis\+Aligned\+Box\+Scene\+Query}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_intersection_scene_query}{Ogre\+::\+Default\+Intersection\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Default implementation of \hyperlink{class_ogre_1_1_intersection_scene_query}{Intersection\+Scene\+Query}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_plane_bounded_volume_list_scene_query}{Ogre\+::\+Default\+Plane\+Bounded\+Volume\+List\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Default implementation of \hyperlink{class_ogre_1_1_plane_bounded_volume_list_scene_query}{Plane\+Bounded\+Volume\+List\+Scene\+Query}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_ray_scene_query}{Ogre\+::\+Default\+Ray\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Default implementation of \hyperlink{class_ogre_1_1_ray_scene_query}{Ray\+Scene\+Query}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_scene_manager}{Ogre\+::\+Default\+Scene\+Manager}
\begin{DoxyCompactList}\small\item\em Default scene manager. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_scene_manager_factory}{Ogre\+::\+Default\+Scene\+Manager\+Factory}
\begin{DoxyCompactList}\small\item\em Factory for default scene manager. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_shadow_camera_setup}{Ogre\+::\+Default\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em Implements default shadow camera setup. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_default_sphere_scene_query}{Ogre\+::\+Default\+Sphere\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Default implementation of \hyperlink{class_ogre_1_1_sphere_scene_query}{Sphere\+Scene\+Query}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_entity}{Ogre\+::\+Entity}
\begin{DoxyCompactList}\small\item\em Defines an instance of a discrete, movable object based on a \hyperlink{class_ogre_1_1_mesh}{Mesh}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_entity_factory}{Ogre\+::\+Entity\+Factory}
\begin{DoxyCompactList}\small\item\em Factory object for creating \hyperlink{class_ogre_1_1_entity}{Entity} instances. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_focused_shadow_camera_setup}{Ogre\+::\+Focused\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em Implements the uniform shadow mapping algorithm in focused mode. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_instance_batch}{Ogre\+::\+Instance\+Batch}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} forms part of the new Instancing system This is an abstract class that must be derived to implement different instancing techniques (. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_instance_batch_h_w}{Ogre\+::\+Instance\+Batch\+HW}
\begin{DoxyCompactList}\small\item\em This is technique requires true instancing hardware support. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_instance_batch_h_w___v_t_f}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}
\begin{DoxyCompactList}\small\item\em Instancing implementation using vertex texture through Vertex \hyperlink{class_ogre_1_1_texture}{Texture} Fetch (V\+TF) and hardware instancing. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_instance_batch_shader}{Ogre\+::\+Instance\+Batch\+Shader}
\begin{DoxyCompactList}\small\item\em This is the same technique the old \char`\"{}\+Instanced\+Geometry\char`\"{} implementation used (with improvements). \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_instance_batch_v_t_f}{Ogre\+::\+Instance\+Batch\+V\+TF}
\item 
class \hyperlink{class_ogre_1_1_instanced_entity}{Ogre\+::\+Instanced\+Entity}
\item 
class \hyperlink{class_ogre_1_1_instance_manager}{Ogre\+::\+Instance\+Manager}
\begin{DoxyCompactList}\small\item\em This is the main starting point for the new instancing system. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_intersection_scene_query}{Ogre\+::\+Intersection\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Separate \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} class to query for pairs of objects which are possibly intersecting one another. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_intersection_scene_query_listener}{Ogre\+::\+Intersection\+Scene\+Query\+Listener}
\begin{DoxyCompactList}\small\item\em Alternative listener class for dealing with \hyperlink{class_ogre_1_1_intersection_scene_query}{Intersection\+Scene\+Query}. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_intersection_scene_query_result}{Ogre\+::\+Intersection\+Scene\+Query\+Result}
\begin{DoxyCompactList}\small\item\em Holds the results of an intersection scene query (pair values). \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_light}{Ogre\+::\+Light}
\begin{DoxyCompactList}\small\item\em Representation of a dynamic light source in the scene. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_light_factory}{Ogre\+::\+Light\+Factory}
\begin{DoxyCompactList}\small\item\em Factory object for creating \hyperlink{class_ogre_1_1_light}{Light} instances. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_li_s_p_s_m_shadow_camera_setup}{Ogre\+::\+Li\+S\+P\+S\+M\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em Implements the \hyperlink{class_ogre_1_1_light}{Light} Space Perspective Shadow Mapping Algorithm. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_manual_object}{Ogre\+::\+Manual\+Object}
\begin{DoxyCompactList}\small\item\em Class providing a much simplified interface to generating manual objects with custom geometry. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_manual_object_factory}{Ogre\+::\+Manual\+Object\+Factory}
\begin{DoxyCompactList}\small\item\em Factory object for creating \hyperlink{class_ogre_1_1_manual_object}{Manual\+Object} instances. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_movable_object}{Ogre\+::\+Movable\+Object}
\begin{DoxyCompactList}\small\item\em Abstract class defining a movable object in a scene. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_movable_object_factory}{Ogre\+::\+Movable\+Object\+Factory}
\begin{DoxyCompactList}\small\item\em Interface definition for a factory class which produces a certain kind of \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}, and can be registered with \hyperlink{class_ogre_1_1_root}{Root} in order to allow all clients to produce new instances of this object, integrated with the standard \hyperlink{namespace_ogre}{Ogre} processing. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_movable_plane}{Ogre\+::\+Movable\+Plane}
\begin{DoxyCompactList}\small\item\em Definition of a \hyperlink{class_ogre_1_1_plane}{Plane} that may be attached to a node, and the derived details of it retrieved simply. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_node}{Ogre\+::\+Node}
\begin{DoxyCompactList}\small\item\em Class representing a general-\/purpose node an articulated scene graph. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_plane_bounded_volume_list_scene_query}{Ogre\+::\+Plane\+Bounded\+Volume\+List\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Specialises the \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} class for querying within a plane-\/bounded volume. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_plane_optimal_shadow_camera_setup}{Ogre\+::\+Plane\+Optimal\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em Implements the plane optimal shadow camera algorithm. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_p_s_s_m_shadow_camera_setup}{Ogre\+::\+P\+S\+S\+M\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em Parallel Split Shadow Map (P\+S\+SM) shadow camera setup. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_ray_scene_query}{Ogre\+::\+Ray\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Specialises the \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} class for querying along a ray. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_ray_scene_query_listener}{Ogre\+::\+Ray\+Scene\+Query\+Listener}
\begin{DoxyCompactList}\small\item\em Alternative listener class for dealing with \hyperlink{class_ogre_1_1_ray_scene_query}{Ray\+Scene\+Query}. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_ray_scene_query_result_entry}{Ogre\+::\+Ray\+Scene\+Query\+Result\+Entry}
\begin{DoxyCompactList}\small\item\em This struct allows a single comparison of result data no matter what the type. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_rectangle2_d}{Ogre\+::\+Rectangle2D}
\begin{DoxyCompactList}\small\item\em Allows the rendering of a simple 2D rectangle This class renders a simple 2D rectangle; this rectangle has no depth and therefore is best used with specific render queue and depth settings, like R\+E\+N\+D\+E\+R\+\_\+\+Q\+U\+E\+U\+E\+\_\+\+B\+A\+C\+K\+G\+R\+O\+U\+ND and \textquotesingle{}depth\+\_\+write off\textquotesingle{} for backdrops, and R\+E\+N\+D\+E\+R\+\_\+\+Q\+U\+E\+U\+E\+\_\+\+O\+V\+E\+R\+L\+AY and \textquotesingle{}depth\+\_\+check off\textquotesingle{} for fullscreen quads. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_region_scene_query}{Ogre\+::\+Region\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Abstract class defining a query which returns single results from a region. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_renderable}{Ogre\+::\+Renderable}
\begin{DoxyCompactList}\small\item\em Abstract class defining the interface all renderable objects must implement. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_manager}{Ogre\+::\+Scene\+Manager}
\begin{DoxyCompactList}\small\item\em Manages the organisation and rendering of a \textquotesingle{}scene\textquotesingle{} i.\+e. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_manager_enumerator}{Ogre\+::\+Scene\+Manager\+Enumerator}
\begin{DoxyCompactList}\small\item\em Enumerates the \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} classes available to applications. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_manager_factory}{Ogre\+::\+Scene\+Manager\+Factory}
\begin{DoxyCompactList}\small\item\em Class which will create instances of a given \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager}. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_scene_manager_meta_data}{Ogre\+::\+Scene\+Manager\+Meta\+Data}
\begin{DoxyCompactList}\small\item\em Structure containing information about a scene manager. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_node}{Ogre\+::\+Scene\+Node}
\begin{DoxyCompactList}\small\item\em Class representing a node in the scene graph. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_query}{Ogre\+::\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em A class for performing queries on a scene. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_scene_query_listener}{Ogre\+::\+Scene\+Query\+Listener}
\begin{DoxyCompactList}\small\item\em This optional class allows you to receive per-\/result callbacks from \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} executions instead of a single set of consolidated results. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_scene_query_result}{Ogre\+::\+Scene\+Query\+Result}
\begin{DoxyCompactList}\small\item\em Holds the results of a scene query. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_shadow_camera_setup}{Ogre\+::\+Shadow\+Camera\+Setup}
\begin{DoxyCompactList}\small\item\em This class allows you to plug in new ways to define the camera setup when rendering and projecting shadow textures. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_shadow_caster}{Ogre\+::\+Shadow\+Caster}
\begin{DoxyCompactList}\small\item\em This class defines the interface that must be implemented by shadow casters. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_shadow_renderable}{Ogre\+::\+Shadow\+Renderable}
\begin{DoxyCompactList}\small\item\em Class which represents the renderable aspects of a set of shadow volume faces. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_shadow_texture_config}{Ogre\+::\+Shadow\+Texture\+Config}
\begin{DoxyCompactList}\small\item\em Structure containing the configuration for one shadow texture. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_shadow_texture_manager}{Ogre\+::\+Shadow\+Texture\+Manager}
\begin{DoxyCompactList}\small\item\em Class to manage the available shadow textures which may be shared between many \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} instances if formats agree. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_simple_renderable}{Ogre\+::\+Simple\+Renderable}
\begin{DoxyCompactList}\small\item\em Simple implementation of \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} and \hyperlink{class_ogre_1_1_renderable}{Renderable} for single-\/part custom objects. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_skeleton_instance}{Ogre\+::\+Skeleton\+Instance}
\begin{DoxyCompactList}\small\item\em A \hyperlink{class_ogre_1_1_skeleton_instance}{Skeleton\+Instance} is a single instance of a \hyperlink{class_ogre_1_1_skeleton}{Skeleton} used by a world object. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_sphere_scene_query}{Ogre\+::\+Sphere\+Scene\+Query}
\begin{DoxyCompactList}\small\item\em Specialises the \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} class for querying within a sphere. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_static_face_group}{Ogre\+::\+Static\+Face\+Group}
\begin{DoxyCompactList}\small\item\em Collects a group of static i.\+e. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_static_geometry}{Ogre\+::\+Static\+Geometry}
\begin{DoxyCompactList}\small\item\em Pre-\/transforms and batches up meshes for efficient use as static geometry in a scene. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_sub_entity}{Ogre\+::\+Sub\+Entity}
\begin{DoxyCompactList}\small\item\em Utility class which defines the sub-\/parts of an \hyperlink{class_ogre_1_1_entity}{Entity}. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_user_object_bindings}{Ogre\+::\+User\+Object\+Bindings}
\begin{DoxyCompactList}\small\item\em Class that provides convenient interface to establish a linkage between custom user application objects and \hyperlink{namespace_ogre}{Ogre} core classes. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_view_point}{Ogre\+::\+View\+Point}
\begin{DoxyCompactList}\small\item\em Structure for holding a position \& orientation pair. \end{DoxyCompactList}\item 
struct \hyperlink{struct_ogre_1_1_visible_objects_bounds_info}{Ogre\+::\+Visible\+Objects\+Bounds\+Info}
\begin{DoxyCompactList}\small\item\em Structure collecting together information about the visible objects that have been discovered in a scene. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_wire_bounding_box}{Ogre\+::\+Wire\+Bounding\+Box}
\begin{DoxyCompactList}\small\item\em Allows the rendering of a wireframe bounding box. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{class_ogre_1_1_const_vector_iterator}{Const\+Vector\+Iterator}$<$ \hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Shadow\+Texture\+Config\+List} $>$ \hyperlink{group___scene_ga40acba93d9441f2bccfa096b641c887d}{Ogre\+::\+Const\+Shadow\+Texture\+Config\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{class_ogre_1_1_vector4}{Vector4} $>$ \hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Ogre\+::\+Instance\+Batch\+::\+Custom\+Params\+Vec}
\item 
typedef \hyperlink{class_ogre_1_1_const_vector_iterator}{Const\+Vector\+Iterator}$<$ Instance\+Batch\+Vec $>$ \hyperlink{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}{Ogre\+::\+Instance\+Manager\+::\+Instance\+Batch\+Iterator}
\item 
typedef \hyperlink{class_ogre_1_1_const_map_iterator}{Const\+Map\+Iterator}$<$ Instance\+Batch\+Map $>$ \hyperlink{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}{Ogre\+::\+Instance\+Manager\+::\+Instance\+Batch\+Map\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$ $>$ \hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Ogre\+::\+Instance\+Batch\+::\+Instanced\+Entity\+Vec}
\item 
typedef std\+::vector$<$ \hyperlink{struct_ogre_1_1_ray_scene_query_result_entry}{Ray\+Scene\+Query\+Result\+Entry} $>$ \hyperlink{group___scene_gad131001f847e434a637a4e217d61cf7d}{Ogre\+::\+Ray\+Scene\+Query\+Result}
\item 
typedef std\+::list$<$ \hyperlink{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}{Scene\+Query\+Movable\+Object\+Pair} $>$ \hyperlink{group___scene_gaaa1601dd915ea1b91530e88825dbfd2b}{Ogre\+::\+Scene\+Query\+Movable\+Intersection\+List}
\item 
typedef std\+::pair$<$ \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$, \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$ $>$ \hyperlink{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}{Ogre\+::\+Scene\+Query\+Movable\+Object\+Pair}
\item 
typedef std\+::pair$<$ \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$, \hyperlink{struct_ogre_1_1_scene_query_1_1_world_fragment}{Scene\+Query\+::\+World\+Fragment} $\ast$ $>$ \hyperlink{group___scene_gae8f394829e3a85cea6faa915ac391653}{Ogre\+::\+Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}
\item 
typedef std\+::list$<$ \hyperlink{group___scene_gae8f394829e3a85cea6faa915ac391653}{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair} $>$ \hyperlink{group___scene_ga12d0977310ce2ed229d0345c620eff00}{Ogre\+::\+Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List}
\item 
typedef std\+::list$<$ \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$ $>$ \hyperlink{group___scene_gaeb1862543a1dcd5fc29dc4e549a71f15}{Ogre\+::\+Scene\+Query\+Result\+Movable\+List}
\item 
typedef std\+::list$<$ \hyperlink{struct_ogre_1_1_scene_query_1_1_world_fragment}{Scene\+Query\+::\+World\+Fragment} $\ast$ $>$ \hyperlink{group___scene_ga92a09e47bee5654fe8587a739dde5b80}{Ogre\+::\+Scene\+Query\+Result\+World\+Fragment\+List}
\item 
typedef \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} \hyperlink{group___scene_gaa4b6dbd7bf722582a21fcc25d25f73ed}{Ogre\+::\+Scene\+Type\+Mask}
\begin{DoxyCompactList}\small\item\em Bitmask containing scene types. \end{DoxyCompactList}\item 
typedef std\+::vector$<$ \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} $>$ \hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Ogre\+::\+Shadow\+Texture\+Config\+List}
\item 
typedef std\+::vector$<$ \hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr} $>$ \hyperlink{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}{Ogre\+::\+Shadow\+Texture\+List}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Ogre\+::\+Instance\+Manager\+::\+Batch\+Setting\+Id} \{ \hyperlink{group___scene_gga7832eb9e2627f71382fefc7293482508a4fa34122dba5df1604cd9cd44ee1c519}{Ogre\+::\+Instance\+Manager\+::\+C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS} = 0, 
\hyperlink{group___scene_gga7832eb9e2627f71382fefc7293482508a5aa5845eaa01e5c54fc92fc74b2f4176}{Ogre\+::\+Instance\+Manager\+::\+S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX}, 
\hyperlink{group___scene_gga7832eb9e2627f71382fefc7293482508a93252cb20077bbc127c02d96f5d696f0}{Ogre\+::\+Instance\+Manager\+::\+N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS}
 \}\begin{DoxyCompactList}\small\item\em Values to be used in set\+Setting() \& Batch\+Settings\+::setting. \end{DoxyCompactList}
\item 
enum \hyperlink{group___scene_ga7c11c8a17d7bbfc5aab6f982fb0d7f38}{Ogre\+::\+Face\+Group\+Type} \{ \hyperlink{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a06ae7e34bd024924db27d7a490c545e4}{Ogre\+::\+F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST}, 
\hyperlink{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38ab0cfe6b33db8e2804a5f50ae51d59ff5}{Ogre\+::\+F\+G\+T\+\_\+\+P\+A\+T\+CH}, 
\hyperlink{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a8d46b5184ac4f071e0f287f89e1b253b}{Ogre\+::\+F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN}
 \}\begin{DoxyCompactList}\small\item\em A type of face group, i.\+e. \end{DoxyCompactList}
\item 
enum \hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Ogre\+::\+Instance\+Manager\+::\+Instancing\+Technique} \{ \newline
\hyperlink{group___scene_gga98fb2a9ada779b56d48f74040e96a622adfd14a6d905e8f639010dceb63fd6a99}{Ogre\+::\+Instance\+Manager\+::\+Shader\+Based}, 
\hyperlink{group___scene_gga98fb2a9ada779b56d48f74040e96a622aa936e137d1695cec1b763a270dc73a3e}{Ogre\+::\+Instance\+Manager\+::\+Texture\+V\+TF}, 
\hyperlink{group___scene_gga98fb2a9ada779b56d48f74040e96a622a20f1ebda9178d5f5f4ebe613f3432eac}{Ogre\+::\+Instance\+Manager\+::\+H\+W\+Instancing\+Basic}, 
\hyperlink{group___scene_gga98fb2a9ada779b56d48f74040e96a622ac1ad45db6c7bc954c0374c37c8ed1b0d}{Ogre\+::\+Instance\+Manager\+::\+H\+W\+Instancing\+V\+TF}, 
\newline
\hyperlink{group___scene_gga98fb2a9ada779b56d48f74040e96a622a3efbc531e529142ddfd5c7272a373ece}{Ogre\+::\+Instance\+Manager\+::\+Instancing\+Techniques\+Count}
 \}
\item 
enum \hyperlink{group___scene_ga7383602bd480d43b80c626969b9af914}{Ogre\+::\+Scene\+Type} \{ \newline
\hyperlink{group___scene_gga7383602bd480d43b80c626969b9af914a0af8f844019e52fe112e9a946a919fcd}{Ogre\+::\+S\+T\+\_\+\+G\+E\+N\+E\+R\+IC} = 1, 
\hyperlink{group___scene_gga7383602bd480d43b80c626969b9af914ae83ae1c9a6e4816184441db4a140e70a}{Ogre\+::\+S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE} = 2, 
\hyperlink{group___scene_gga7383602bd480d43b80c626969b9af914a8bf5864d5ab311e0512ed153c95f1d13}{Ogre\+::\+S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR} = 4, 
\hyperlink{group___scene_gga7383602bd480d43b80c626969b9af914a7eecd7057b3487616075032560582ec1}{Ogre\+::\+S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR} = 8, 
\newline
\hyperlink{group___scene_gga7383602bd480d43b80c626969b9af914a93f2170ad3a8132f29264dc3642a2dcf}{Ogre\+::\+S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR} = 16
 \}\begin{DoxyCompactList}\small\item\em Classification of a scene to allow a decision of what type of Sceen\+Manager to provide back to the application. \end{DoxyCompactList}
\item 
enum \hyperlink{group___scene_ga5422f3d75ddc606ee01f69d14e37a8cc}{Ogre\+::\+Shadow\+Renderable\+Flags} \{ \hyperlink{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca42b7242b2403601a94289579c0484b7e}{Ogre\+::\+S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP} = 0x00000001, 
\hyperlink{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca33f01b987b6a184a90c99533cc257992}{Ogre\+::\+S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP} = 0x00000002, 
\hyperlink{group___scene_gga5422f3d75ddc606ee01f69d14e37a8ccacb424293924baf3e1b2bb29041270fec}{Ogre\+::\+S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY} = 0x00000004
 \}\begin{DoxyCompactList}\small\item\em A set of flags that can be used to influence Shadow\+Renderable creation. \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group___scene_ga8b00a6ffb132571ac5e3c81c8bff2077}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::\+Base\+Instance\+Batch\+V\+TF} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_gad9b21aa78c94911add2c52c474d8d48c}{Ogre\+::\+Instance\+Manager\+::\+Batch\+Settings\+::\+Batch\+Settings} ()
\item 
\hyperlink{group___scene_ga0606fa0d1231bb9d5b78ec9115428db8}{Ogre\+::\+Instance\+Batch\+::\+Instance\+Batch} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_gaadfe92140a94b8a7584b2ae102cd45f7}{Ogre\+::\+Instance\+Batch\+H\+W\+::\+Instance\+Batch\+HW} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_gae1b95987851d4ee0a3458bcb268d8902}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_ga4b725f8ccb8541f0af724af260a9864e}{Ogre\+::\+Instance\+Batch\+Shader\+::\+Instance\+Batch\+Shader} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_ga991bc0b495ffded1e0b0982ac478335a}{Ogre\+::\+Instance\+Batch\+V\+T\+F\+::\+Instance\+Batch\+V\+TF} (\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$creator, \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&mesh\+Reference, const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&material, size\+\_\+t instances\+Per\+Batch, const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$index\+To\+Bone\+Map, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&batch\+Name)
\item 
\hyperlink{group___scene_ga45fbc498bcd98c53d7026ca8fb244e85}{Ogre\+::\+Instanced\+Entity\+::\+Instanced\+Entity} (\hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} $\ast$batch\+Owner, \hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32} instance\+ID, \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$shared\+Transform\+Entity=N\+U\+LL)
\item 
\hyperlink{group___scene_gab31a5819d546d97995e9c5fc0f6dbe76}{Ogre\+::\+Instance\+Manager\+::\+Instance\+Manager} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&custom\+Name, \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$scene\+Manager, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&mesh\+Name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group\+Name, \hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Instancing\+Technique} instancing\+Technique, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} instancing\+Flags, size\+\_\+t instances\+Per\+Batch, unsigned short sub\+Mesh\+Idx, bool use\+Bone\+Matrix\+Lookup=false)
\item 
virtual \hyperlink{group___scene_ga336e04ecb0e366039963adc9bffe4f73}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::$\sim$\+Base\+Instance\+Batch\+V\+TF} ()
\item 
virtual \hyperlink{group___scene_ga65c587286204ff6174c4283dd3541e22}{Ogre\+::\+Instance\+Batch\+::$\sim$\+Instance\+Batch} ()
\item 
virtual \hyperlink{group___scene_gab05c51798311eac9e3da3fb3d4946408}{Ogre\+::\+Instance\+Batch\+H\+W\+::$\sim$\+Instance\+Batch\+HW} ()
\item 
virtual \hyperlink{group___scene_gacdc3cc87b51c30662266bedbdc2c44b4}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::$\sim$\+Instance\+Batch\+H\+W\+\_\+\+V\+TF} ()
\item 
virtual \hyperlink{group___scene_ga2a9877537a5b9b05fd8a104231463070}{Ogre\+::\+Instance\+Batch\+V\+T\+F\+::$\sim$\+Instance\+Batch\+V\+TF} ()
\item 
virtual \hyperlink{group___scene_ga5d5f5e203dbeb294450400d10e91c041}{Ogre\+::\+Instanced\+Entity\+::$\sim$\+Instanced\+Entity} ()
\item 
\hyperlink{group___scene_gacc52c44d8afc077315a16f5f21e600d5}{Ogre\+::\+Instance\+Manager\+::$\sim$\+Instance\+Manager} ()
\item 
void \hyperlink{group___scene_ga395a8ce5c926625f1902d7f645d041fc}{Ogre\+::\+Instance\+Manager\+::\+\_\+add\+Dirty\+Batch} (\hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} $\ast$dirty\+Batch)
\begin{DoxyCompactList}\small\item\em Called by an \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} when it requests their bounds to be updated for proper culling. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gafa38ad39cc49abd167a8bb1075dc2c2d}{Ogre\+::\+Instance\+Batch\+H\+W\+::\+\_\+bounds\+Dirty} (void)
\begin{DoxyCompactList}\small\item\em Overloaded so that we don\textquotesingle{}t perform needless updates when in static mode. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gabbea0657572df2d28a184666d1fd128f}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+\_\+bounds\+Dirty} (void)
\begin{DoxyCompactList}\small\item\em Overloaded so that we don\textquotesingle{}t perform needless updates when in static mode. \end{DoxyCompactList}\item 
virtual void \hyperlink{group___scene_ga9e6dfe915b52c9463a503d690ae7da4f}{Ogre\+::\+Instance\+Batch\+::\+\_\+bounds\+Dirty} (void)
\begin{DoxyCompactList}\small\item\em Called by Instanced\+Entity(s) to tell us we need to update the bounds (we touch the \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} so the \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} aknowledges such change) \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga44d78b230b026f76fae1ef3ca248d97f}{Ogre\+::\+Instance\+Batch\+::\+\_\+defragment\+Batch} (bool optimize\+Culling, \hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Instanced\+Entity\+Vec} \&used\+Entities, \hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Custom\+Params\+Vec} \&used\+Params)
\item 
void \hyperlink{group___scene_ga707b7dc9f29486a9ad3f07f9c96665f7}{Ogre\+::\+Instance\+Batch\+::\+\_\+defragment\+Batch\+Discard} (void)
\item 
const \hyperlink{class_ogre_1_1_vector4}{Vector4} \& \hyperlink{group___scene_gaff4d0e256c7506949ad849e38c248ba4}{Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Custom\+Param} (\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$instanced\+Entity, unsigned char idx)
\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{group___scene_ga429d997908f06510df395f5e41e71b7b}{Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Derived\+Position} () const
\begin{DoxyCompactList}\small\item\em Returns the derived position of the instanced entity including local transform. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$ \hyperlink{group___scene_ga2c7d869d9a47056507998a99bf6383df}{Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Index\+To\+Bone\+Map} () const
\item 
\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \& \hyperlink{group___scene_gaf1b34a5640923cb56c47153321cd317a}{Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Mesh\+Ref} ()
\item 
const \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Ogre\+::\+Mesh\+Ptr} \& \hyperlink{group___scene_gabb49c936058ba3730d2010891ceae8c9}{Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Mesh\+Reference} (void) const
\item 
\hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} $\ast$ \hyperlink{group___scene_ga766440b866678200f30869bc44683888}{Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Owner} () const
\item 
virtual const \hyperlink{class_ogre_1_1_affine3}{Affine3} \& \hyperlink{group___scene_gaad489f840b61e8e987ec2c48e3b16b78}{Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Parent\+Node\+Full\+Transform} (void) const
\begin{DoxyCompactList}\small\item\em Returns the world transform of the instanced entity including local transform. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga2773601083f5a3d41dd071aec04fd5d8}{Ogre\+::\+Instance\+Batch\+::\+\_\+mark\+Transform\+Sharing\+Dirty} ()
\begin{DoxyCompactList}\small\item\em Tells that the list of entity instances with shared transforms has changed. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga0faadbd22a01ef1b959e0c63598bc79a}{Ogre\+::\+Instanced\+Entity\+::\+\_\+notify\+Attached} (\hyperlink{class_ogre_1_1_node}{Node} $\ast$parent, bool is\+Tag\+Point=false)
\begin{DoxyCompactList}\small\item\em Internal method called to notify the object that it has been attached to a node. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaeb967751f31d275489389e9988f1aac2}{Ogre\+::\+Instance\+Batch\+::\+\_\+notify\+Current\+Camera} (\hyperlink{class_ogre_1_1_camera}{Camera} $\ast$cam)
\begin{DoxyCompactList}\small\item\em Internal method to notify the object of the camera to be used for the next rendering operation. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gac18e33cc9b2824de974cd4259874ac62}{Ogre\+::\+Instanced\+Entity\+::\+\_\+notify\+Moved} (void)
\begin{DoxyCompactList}\small\item\em Overridden so we can tell the \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} it needs to update it\textquotesingle{}s bounds. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga62ac297aa71e017ec1ab97929c06e036}{Ogre\+::\+Instance\+Batch\+::\+\_\+set\+Custom\+Param} (\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$instanced\+Entity, unsigned char idx, const \hyperlink{class_ogre_1_1_vector4}{Vector4} \&new\+Param)
\item 
void \hyperlink{group___scene_ga810d6dd7b95994be19c0b49d2f1f4267}{Ogre\+::\+Instance\+Batch\+::\+\_\+set\+Instances\+Per\+Batch} (size\+\_\+t instances\+Per\+Batch)
\begin{DoxyCompactList}\small\item\em Raises an exception if trying to change it after being built. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga595dea7ab487def43e80c26715cb8591}{Ogre\+::\+Instance\+Batch\+::\+\_\+supports\+Skeletal\+Animation} () const
\begin{DoxyCompactList}\small\item\em Returns true if this technique supports skeletal animation. \end{DoxyCompactList}\item 
virtual bool \hyperlink{group___scene_ga4fdd447620e786031195fc75086a9043}{Ogre\+::\+Instanced\+Entity\+::\+\_\+update\+Animation} (void)
\begin{DoxyCompactList}\small\item\em Called by \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} in {\itshape his} \+\_\+update\+Render\+Queue to tell us we need to calculate our bone matrices. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga8073edd16937723e2b2db8ba51672dc1}{Ogre\+::\+Instance\+Batch\+::\+\_\+update\+Bounds} (void)
\item 
void \hyperlink{group___scene_ga5a53a7786df59317f4b208b55bd3ec41}{Ogre\+::\+Instance\+Manager\+::\+\_\+update\+Dirty\+Batches} (void)
\begin{DoxyCompactList}\small\item\em Called by \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} when we told it we have at least one dirty batch. \end{DoxyCompactList}\item 
virtual void \hyperlink{group___scene_gaf4840500767d764d159ee6362c9b51a0}{Ogre\+::\+Instance\+Batch\+H\+W\+::\+\_\+update\+Render\+Queue} (\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$queue)
\begin{DoxyCompactList}\small\item\em Overloaded to avoid updating skeletons (which we don\textquotesingle{}t support), check visibility on a per unit basis and finally updated the vertex buffer. \end{DoxyCompactList}\item 
virtual void \hyperlink{group___scene_ga36300602449a9b710be75184f60090ba}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+\_\+update\+Render\+Queue} (\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$queue)
\begin{DoxyCompactList}\small\item\em Overloaded to visibility on a per unit basis and finally updated the vertex texture. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaf47f31873478f5929289a474a976fb7c}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::\+\_\+update\+Render\+Queue} (\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$queue)
\begin{DoxyCompactList}\small\item\em Overloaded to be able to updated the vertex texture. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga0a0d1a414ff9876e426aad8421b4baba}{Ogre\+::\+Instanced\+Entity\+::\+\_\+update\+Render\+Queue} (\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$queue)
\begin{DoxyCompactList}\small\item\em Do nothing, \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} takes care of this. \end{DoxyCompactList}\item 
virtual void \hyperlink{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}{Ogre\+::\+Instance\+Batch\+::\+\_\+update\+Render\+Queue} (\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$queue)
\begin{DoxyCompactList}\small\item\em Internal method by which the movable object must add \hyperlink{class_ogre_1_1_renderable}{Renderable} subclass instances to the rendering queue. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \hyperlink{group___scene_ga7c7e77b52df342b78e04d0294f741df2}{Ogre\+::\+Instance\+Batch\+::build} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh)
\begin{DoxyCompactList}\small\item\em Constructs all the data needed to use this batch, as well as the Instance\+Entities. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga3f73c0ba5217fcafbe1c5246c31bc7be}{Ogre\+::\+Instance\+Batch\+H\+W\+::build\+From} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&render\+Operation)
\item 
void \hyperlink{group___scene_gab693390768c3d31ec33a288fc8666b2a}{Ogre\+::\+Instance\+Batch\+Shader\+::build\+From} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&render\+Operation)
\item 
void \hyperlink{group___scene_gac97af4ce33324a1c9f9b812e5e7ae1c9}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::build\+From} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&render\+Operation)
\item 
virtual void \hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Ogre\+::\+Instance\+Batch\+::build\+From} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&render\+Operation)
\begin{DoxyCompactList}\small\item\em Instancing consumes significantly more G\+PU memory than regular rendering methods. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{group___scene_ga199ccdf597eb82ccf4d2a197c2824637}{Ogre\+::\+Instance\+Batch\+H\+W\+::calculate\+Max\+Num\+Instances} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags) const
\item 
size\+\_\+t \hyperlink{group___scene_ga601f9ff1af35db597efb62a4c582be22}{Ogre\+::\+Instance\+Batch\+Shader\+::calculate\+Max\+Num\+Instances} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags) const
\item 
size\+\_\+t \hyperlink{group___scene_ga0b8958bd878c7028e19b789188c631ca}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::calculate\+Max\+Num\+Instances} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags) const
\item 
virtual size\+\_\+t \hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Ogre\+::\+Instance\+Batch\+::calculate\+Max\+Num\+Instances} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags) const =0
\begin{DoxyCompactList}\small\item\em Some techniques have a limit on how many instances can be done. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{group___scene_ga01ff033a0dddc01ea7037d4c96d0bed2}{Ogre\+::\+Instance\+Batch\+V\+T\+F\+::calculate\+Max\+Num\+Instances} (const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$base\+Sub\+Mesh, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags) const
\item 
void \hyperlink{group___scene_ga78d1331b24a26e89d49b50c0293bdab2}{Ogre\+::\+Instance\+Manager\+::cleanup\+Empty\+Batches} (void)
\begin{DoxyCompactList}\small\item\em This function can be useful to improve C\+PU speed after having too many instances created, which where now removed, thus freeing many batches with zero used Instanced Entities However the batches aren\textquotesingle{}t automatically removed from memory until the \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} is destroyed, or this function is called. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$ \hyperlink{group___scene_ga5767c95dac43bbc3c80966c362e32b73}{Ogre\+::\+Instance\+Manager\+::create\+Instanced\+Entity} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name)
\begin{DoxyCompactList}\small\item\em Creates an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} based on an existing \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} (. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$ \hyperlink{group___scene_ga6acd24f5b5aa6ea29d1d3baf57603dd2}{Ogre\+::\+Instance\+Batch\+::create\+Instanced\+Entity} ()
\begin{DoxyCompactList}\small\item\em Returns a pointer to a new \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} ready to use Note it\textquotesingle{}s actually preallocated, so no memory allocation happens at this point. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gad95874d5f995a6b7b66707cb260a0a19}{Ogre\+::\+Instance\+Manager\+::defragment\+Batches} (bool optimize\+Culling)
\begin{DoxyCompactList}\small\item\em After creating many entities (which turns in many batches) and then removing entities that are in the middle of these batches, there might be many batches with many free entities. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga8de1d6bc736ed16039fc4feed1054ad1}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::force\+One\+Weight} () const
\item 
\hyperlink{class_ogre_1_1_animation_state_set}{Animation\+State\+Set} $\ast$ \hyperlink{group___scene_ga9d0aba5085aa3cabe566c00596315d05}{Ogre\+::\+Instanced\+Entity\+::get\+All\+Animation\+States} (void) const
\item 
\hyperlink{class_ogre_1_1_animation_state}{Animation\+State} $\ast$ \hyperlink{group___scene_ga12ab97d999121451b671b795e440d538}{Ogre\+::\+Instanced\+Entity\+::get\+Animation\+State} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name) const
\item 
const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \& \hyperlink{group___scene_gab244043eda526a4b17991c1c55e6db65}{Ogre\+::\+Instanced\+Entity\+::get\+Bounding\+Box} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves the local axis-\/aligned bounding box for this object. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \& \hyperlink{group___scene_ga2f3b53c770793546d08f40afedb167f5}{Ogre\+::\+Instance\+Batch\+::get\+Bounding\+Box} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves the local axis-\/aligned bounding box for this object. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{group___scene_ga27cf4b750c8284a8f4464aa87e041465}{Ogre\+::\+Instanced\+Entity\+::get\+Bounding\+Radius} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves the radius of the origin-\/centered bounding sphere for this object. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{group___scene_ga76e03f1dfd14df9dcb57cbb7eb089777}{Ogre\+::\+Instance\+Batch\+::get\+Bounding\+Radius} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves the radius of the origin-\/centered bounding sphere for this object. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector4}{Vector4} \& \hyperlink{group___scene_gae3ed38cdf3fbf06dac6c29777d45706f}{Ogre\+::\+Instanced\+Entity\+::get\+Custom\+Param} (unsigned char idx)
\item 
\hyperlink{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}{Instance\+Batch\+Iterator} \hyperlink{group___scene_ga12e1b31f34a7f3e232495f0acda251fb}{Ogre\+::\+Instance\+Manager\+::get\+Instance\+Batch\+Iterator} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name) const
\begin{DoxyCompactList}\small\item\em Get non-\/updateable iterator over instance batches for given material. \end{DoxyCompactList}\item 
\hyperlink{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}{Instance\+Batch\+Map\+Iterator} \hyperlink{group___scene_ga9c99d92a8ca66ad3bb588466acd2a11f}{Ogre\+::\+Instance\+Manager\+::get\+Instance\+Batch\+Map\+Iterator} (void) const
\begin{DoxyCompactList}\small\item\em Get non-\/updateable iterator over instance batches per material. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaf04ddc9e478466c38ef6580a0549ff29}{Ogre\+::\+Instance\+Batch\+::get\+Instanced\+Entities\+In\+Use} (\hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Instanced\+Entity\+Vec} \&out\+Entities, \hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Custom\+Params\+Vec} \&out\+Params)
\begin{DoxyCompactList}\small\item\em Fills the input vector with the instances that are currently being used or were requested. \end{DoxyCompactList}\item 
\hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Instancing\+Technique} \hyperlink{group___scene_ga3833def00a12ea2b8653e47b0ff214f9}{Ogre\+::\+Instance\+Manager\+::get\+Instancing\+Technique} () const
\item 
const \hyperlink{group___general_gaab30ef14aae93306a6044cb38d835f0c}{Light\+List} \& \hyperlink{group___scene_ga286e02d5a387e4a629a440446418f26e}{Ogre\+::\+Instance\+Batch\+::get\+Lights} (void) const
\begin{DoxyCompactList}\small\item\em Gets a list of lights, ordered relative to how close they are to this renderable. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \& \hyperlink{group___scene_gabf2e0f5e70a4984aeafc67d016111e46}{Ogre\+::\+Instance\+Batch\+::get\+Material} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves a weak reference to the material this renderable object uses. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{group___scene_ga4524a2e65d6f52411d8b5f31ef056771}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+Max\+Lookup\+Table\+Instances} () const
\item 
size\+\_\+t \hyperlink{group___scene_gacee1be4e7b70a433b969571a55743361}{Ogre\+::\+Instance\+Manager\+::get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name, size\+\_\+t suggested\+Size, \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} flags)
\begin{DoxyCompactList}\small\item\em Calculates the maximum (or the best amount, depending on flags) of instances per batch given the suggested size for the technique this manager was created for. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{group___scene_ga1c4f7f74bfdad336ddfd766fd8687a90}{Ogre\+::\+Instanced\+Entity\+::get\+Max\+Scale\+Coef} () const
\begin{DoxyCompactList}\small\item\em Returns the maximum derived scale coefficient among the xyz values. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{group___scene_ga27334e4426d3c415824d0e817dee83f3}{Ogre\+::\+Instanced\+Entity\+::get\+Movable\+Type} (void) const
\begin{DoxyCompactList}\small\item\em Returns the type name of this object. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{group___scene_ga594f79fee334537c1e64abe4777d77fa}{Ogre\+::\+Instance\+Batch\+::get\+Movable\+Type} (void) const
\begin{DoxyCompactList}\small\item\em Returns the type name of this object. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{group___scene_gafdb1bb452fa33f35fbc13dab22b4ae94}{Ogre\+::\+Instance\+Manager\+::get\+Name} () const
\item 
unsigned char \hyperlink{group___scene_gac0675779ed2ecc6ab4148fd4e4437dcb}{Ogre\+::\+Instance\+Manager\+::get\+Num\+Custom\+Params} () const
\item 
unsigned short \hyperlink{group___scene_ga86c7f5afb1cde4b73937c687d02970b6}{Ogre\+::\+Instance\+Batch\+Shader\+::get\+Num\+World\+Transforms} (void) const
\begin{DoxyCompactList}\small\item\em Returns the number of world transform matrices this renderable requires. \end{DoxyCompactList}\item 
unsigned short \hyperlink{group___scene_ga63d739ff9b72315e8466bc8197cf1223}{Ogre\+::\+Instance\+Batch\+H\+W\+::get\+Num\+World\+Transforms} (void) const
\begin{DoxyCompactList}\small\item\em Returns the number of world transform matrices this renderable requires. \end{DoxyCompactList}\item 
unsigned short \hyperlink{group___scene_ga14b022135fb927a586edef028403a39d}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+Num\+World\+Transforms} (void) const
\begin{DoxyCompactList}\small\item\em Returns the number of world transform matrices this renderable requires. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \& \hyperlink{group___scene_ga737641e39225f9b238060f50d91d6b7a}{Ogre\+::\+Instanced\+Entity\+::get\+Orientation} () const
\begin{DoxyCompactList}\small\item\em Retrieve the orientation. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{group___scene_ga4cc335ae880111a0a654d9f5c5179478}{Ogre\+::\+Instanced\+Entity\+::get\+Position} () const
\begin{DoxyCompactList}\small\item\em Retrieve the position. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gadcb91b7c109b3b4b74504b7dd5f7a13d}{Ogre\+::\+Instance\+Batch\+::get\+Render\+Operation} (\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&op)
\begin{DoxyCompactList}\small\item\em Gets the render operation required to send this object to the frame buffer. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{group___scene_gac20fe04c829f18bc445db7030b0ea7fd}{Ogre\+::\+Instanced\+Entity\+::get\+Scale} () const
\begin{DoxyCompactList}\small\item\em Retrieve the local scale. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$ \hyperlink{group___scene_ga19847d04345ad5c63ef8f20a143a1f83}{Ogre\+::\+Instance\+Manager\+::get\+Scene\+Manager} () const
\item 
bool \hyperlink{group___scene_ga077f2d02db254970a65827b238d5bae9}{Ogre\+::\+Instance\+Manager\+::get\+Setting} (\hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Batch\+Setting\+Id} id, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name) const
\begin{DoxyCompactList}\small\item\em If settings for the given material didn\textquotesingle{}t exist, default value is returned. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_skeleton_instance}{Skeleton\+Instance} $\ast$ \hyperlink{group___scene_gad8c8d4915bb3fc49768fe2df353f9769}{Ogre\+::\+Instanced\+Entity\+::get\+Skeleton} (void) const
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{group___scene_ga45941f4903e38cb0be85c58122cefede}{Ogre\+::\+Instanced\+Entity\+::get\+Squared\+View\+Depth} (const \hyperlink{class_ogre_1_1_camera}{Camera} $\ast$cam) const
\begin{DoxyCompactList}\small\item\em This is used by our batch owner to get the closest entity\textquotesingle{}s depth, returns infinity when not attached to a scene node. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{group___scene_ga0cb7f8123b4fa74968839c1f57f655f8}{Ogre\+::\+Instance\+Batch\+::get\+Squared\+View\+Depth} (const \hyperlink{class_ogre_1_1_camera}{Camera} $\ast$cam) const
\begin{DoxyCompactList}\small\item\em Returns the camera-\/relative squared depth of this renderable. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_technique}{Technique} $\ast$ \hyperlink{group___scene_ga669f14748bd5c2cf8c8559c83371bdf5}{Ogre\+::\+Instance\+Batch\+::get\+Technique} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to the \hyperlink{class_ogre_1_1_material}{Material} \hyperlink{class_ogre_1_1_technique}{Technique} this renderable object uses. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gadc4b75711e16b37a1bf7f4a7caa82c4c}{Ogre\+::\+Instance\+Batch\+Shader\+::get\+World\+Transforms} (\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$xform) const
\begin{DoxyCompactList}\small\item\em Gets the world transform matrix / matrices for this renderable object. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga847694cbc167072792784c10613a4379}{Ogre\+::\+Instance\+Batch\+H\+W\+::get\+World\+Transforms} (\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$xform) const
\begin{DoxyCompactList}\small\item\em Gets the world transform matrix / matrices for this renderable object. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gab3834d2766e67d617c779ac4d3910fc2}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+World\+Transforms} (\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$xform) const
\begin{DoxyCompactList}\small\item\em Gets the world transform matrix / matrices for this renderable object. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_gacd6f5bed6147490ec59a41e570acd830}{Ogre\+::\+Instance\+Manager\+::has\+Settings} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name) const
\begin{DoxyCompactList}\small\item\em Returns true if settings were already created for the given material name. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_gae65b2264024ab0ebfe21a610723634c7}{Ogre\+::\+Instanced\+Entity\+::has\+Skeleton} (void) const
\item 
bool \hyperlink{group___scene_gab0b51a9927616fef936e30d5fbae1883}{Ogre\+::\+Instance\+Batch\+::is\+Batch\+Full} (void) const
\item 
bool \hyperlink{group___scene_ga087b46326b8f4d0306893a468361d1d5}{Ogre\+::\+Instance\+Batch\+::is\+Batch\+Unused} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if it no instanced entity has been requested or all of them have been removed. \end{DoxyCompactList}\item 
virtual bool \hyperlink{group___scene_ga27237a910269ec881ab86df2ebea03ed}{Ogre\+::\+Instanced\+Entity\+::is\+In\+Scene} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if this object is attached to a \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} or \hyperlink{class_ogre_1_1_tag_point}{Tag\+Point}, and this \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} / \hyperlink{class_ogre_1_1_tag_point}{Tag\+Point} is currently in an active part of the scene graph. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga984d8d0315a817ac4ef3ec62fceae76d}{Ogre\+::\+Instanced\+Entity\+::is\+In\+Use} () const
\begin{DoxyCompactList}\small\item\em Tells if the entity is in use. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga7438d8f28274b7c45ac91a0fa73f3773}{Ogre\+::\+Instance\+Batch\+H\+W\+::is\+Static} () const
\begin{DoxyCompactList}\small\item\em Returns true if this batch was set as static. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga7c7505161801cb95b4a1051affdf2af7}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::is\+Static} () const
\begin{DoxyCompactList}\small\item\em Returns true if this batch was set as static. \end{DoxyCompactList}\item 
virtual bool \hyperlink{group___scene_gafbad76bb979934adc96dfd791ae00100}{Ogre\+::\+Instance\+Batch\+::is\+Static} () const
\begin{DoxyCompactList}\small\item\em Returns true if this batch was set as static. \end{DoxyCompactList}\item 
\+\_\+\+Ogre\+Export bool \hyperlink{group___scene_ga9d8174300d9fd7b766d727c85e11a20f}{Ogre\+::operator!=} (const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&lhs, const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&rhs)
\item 
\+\_\+\+Ogre\+Export bool \hyperlink{group___scene_gab426b0250db523190d60f4bfe0414499}{Ogre\+::operator==} (const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&lhs, const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&rhs)
\item 
void \hyperlink{group___scene_ga6603588204263c7d16173169a5e327e7}{Ogre\+::\+Instance\+Batch\+::remove\+Instanced\+Entity} (\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$instanced\+Entity)
\begin{DoxyCompactList}\small\item\em Removes an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} from the scene retrieved with get\+New\+Instanced\+Entity, putting back into a queue. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaadfa0ab4a3974108898a518a1f789961}{Ogre\+::\+Instance\+Manager\+::set\+Batches\+As\+Static\+And\+Update} (bool b\+Static)
\begin{DoxyCompactList}\small\item\em Tells this batch to stop updating animations, positions, rotations, and display all it\textquotesingle{}s active instances. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga61b8f8dd2a76aefe958083ad37d364fd}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Bone\+Dual\+Quaternions} (bool enable)
\item 
void \hyperlink{group___scene_ga5bcd3f7c4a1280df27cdec94c5f18cb1}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Bone\+Matrix\+Lookup} (bool enable, size\+\_\+t max\+Lookup\+Table\+Instances)
\begin{DoxyCompactList}\small\item\em Sets the state of the usage of bone matrix lookup. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga0562933b30acaa9ce172d36dd56e94b4}{Ogre\+::\+Instanced\+Entity\+::set\+Custom\+Param} (unsigned char idx, const \hyperlink{class_ogre_1_1_vector4}{Vector4} \&new\+Param)
\begin{DoxyCompactList}\small\item\em Sets the custom parameter for this instance. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gae413c69ac3cf2e61ffd5eaf3c3842dd2}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Force\+One\+Weight} (bool enable)
\item 
void \hyperlink{group___scene_ga20c5c86323fe3d15f2531e88d8299b17}{Ogre\+::\+Instance\+Manager\+::set\+Instances\+Per\+Batch} (size\+\_\+t instances\+Per\+Batch)
\begin{DoxyCompactList}\small\item\em Raises an exception if trying to change it after creating the first \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaa2995ea29b9105a5d497f154b825f170}{Ogre\+::\+Instanced\+Entity\+::set\+In\+Use} (bool used)
\begin{DoxyCompactList}\small\item\em Sets whether the entity is in use. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga784eee0c3b16d9a661c39ad24459b0cb}{Ogre\+::\+Instance\+Manager\+::set\+Max\+Lookup\+Table\+Instances} (size\+\_\+t max\+Lookup\+Table\+Instances)
\begin{DoxyCompactList}\small\item\em Sets the size of the lookup table for techniques supporting bone lookup table. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaad4652f49581a4867f14d50baa9e060d}{Ogre\+::\+Instance\+Manager\+::set\+Num\+Custom\+Params} (unsigned char num\+Custom\+Params)
\begin{DoxyCompactList}\small\item\em Sets the number of custom parameters per instance. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga63c95921055eb1d80567dee7a04c54ec}{Ogre\+::\+Instanced\+Entity\+::set\+Orientation} (const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&orientation, bool do\+Update=true)
\begin{DoxyCompactList}\small\item\em Set the orientation or the offset from the parent node if a parent node exists. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga60f1479a07f10c35340896f5d0a305f5}{Ogre\+::\+Instanced\+Entity\+::set\+Position} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&position, bool do\+Update=true)
\begin{DoxyCompactList}\small\item\em Set the position or the offset from the parent node if a parent node exists. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga8ed2a05eacb2993c3b02e6e9463dedb5}{Ogre\+::\+Instanced\+Entity\+::set\+Scale} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&scale, bool do\+Update=true)
\begin{DoxyCompactList}\small\item\em Set the scale or the offset from the parent node if a parent node exists. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gacbaa392a89ee55cb80da7314d8ad9dfd}{Ogre\+::\+Instance\+Manager\+::set\+Setting} (\hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Batch\+Setting\+Id} id, bool enabled, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material\+Name=\hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG})
\begin{DoxyCompactList}\small\item\em Applies a setting for all batches using the same material\+\_\+ existing ones and those that will be created in the future. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaca94c5dd0221ddf54f9881f859eef523}{Ogre\+::\+Instance\+Batch\+H\+W\+::set\+Static\+And\+Update} (bool b\+Static)
\item 
void \hyperlink{group___scene_ga7fe07d3823f85fad2479cd41fab69777}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::set\+Static\+And\+Update} (bool b\+Static)
\item 
virtual void \hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{Ogre\+::\+Instance\+Batch\+::set\+Static\+And\+Update} (bool b\+Static)
\begin{DoxyCompactList}\small\item\em Tells this batch to stop updating animations, positions, rotations, and display all it\textquotesingle{}s active instances. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gae89c0833c0c9d0c22c8baea6237c8ef5}{Ogre\+::\+Instanced\+Entity\+::set\+Transform\+Lookup\+Number} (\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} num)
\begin{DoxyCompactList}\small\item\em Sets the transformation look up number. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_gaf23de70598e81b12eb2760a5d9bc4c22}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Use\+One\+Weight} (bool enable)
\item 
bool \hyperlink{group___scene_gae34549164f2eeef459298f900c205e71}{Ogre\+::\+Instanced\+Entity\+::share\+Transform\+With} (\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$slave)
\begin{DoxyCompactList}\small\item\em Shares the entire transformation with another \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga87fae86b0a2a1ea644641ad3dbdbd16f}{Ogre\+::\+Instanced\+Entity\+::stop\+Sharing\+Transform} ()
\item 
void \hyperlink{group___scene_gab2d0353ff71d56330547b5122ddfa1ea}{Ogre\+::\+Instanced\+Entity\+::update\+Transforms} ()
\begin{DoxyCompactList}\small\item\em Update the world transform and derived values. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga0df9f6141a61f6d7353350d38696a23e}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+Dual\+Quaternions} () const
\item 
bool \hyperlink{group___scene_ga57dfa1e8c4c45896da46f19cca27ced5}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+Matrix\+Lookup} () const
\begin{DoxyCompactList}\small\item\em Tells whether to use bone matrix lookup. \end{DoxyCompactList}\item 
virtual bool \hyperlink{group___scene_ga3de0cec85d8506862c964e5980553496}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+World\+Matrices} () const
\item 
virtual bool \hyperlink{group___scene_gae9443eee762d758695d1de5eda06957c}{Ogre\+::\+Instance\+Batch\+::use\+Bone\+World\+Matrices} () const
\begin{DoxyCompactList}\small\item\em Tells whether world bone matrices need to be calculated. \end{DoxyCompactList}\item 
bool \hyperlink{group___scene_ga2eb1a9ee689ebae91819e9ed81c12b54}{Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+One\+Weight} () const
\item 
void \hyperlink{group___scene_gab912c25160b445527baf448d3259f8c6}{Ogre\+::\+Instanced\+Entity\+::visit\+Renderables} (\hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} $\ast$visitor, bool debug\+Renderables=false)
\begin{DoxyCompactList}\small\item\em Method to allow a caller to abstractly iterate over the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances that this \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} will add to the render queue when asked, if any. \end{DoxyCompactList}\item 
void \hyperlink{group___scene_ga90f980cad52ceec8bd2fc56ae515e016}{Ogre\+::\+Instance\+Batch\+::visit\+Renderables} (\hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} $\ast$visitor, bool debug\+Renderables=false)
\begin{DoxyCompactList}\small\item\em Method to allow a caller to abstractly iterate over the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances that this \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} will add to the render queue when asked, if any. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{group___scene_ga2c32100efe26093807424d2032f66464}{Ogre\+::\+Instance\+Manager\+::\+Batch\+Settings\+::setting} \mbox{[}\hyperlink{group___scene_gga7832eb9e2627f71382fefc7293482508a93252cb20077bbc127c02d96f5d696f0}{N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS}\mbox{]}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{group___scene_ga41ffb53da525c94819e85211fc48449c}{Ogre\+::\+Instanced\+Entity\+::\+Base\+Instance\+Batch\+V\+TF}
\item 
class \hyperlink{group___scene_gab0ddd6acb1bcb90f4ac672b7ba7569b0}{Ogre\+::\+Instanced\+Entity\+::\+Instance\+Batch}
\item 
class \hyperlink{group___scene_ga204d0aed3320790edf10711c32f3db73}{Ogre\+::\+Instanced\+Entity\+::\+Instance\+Batch\+HW}
\item 
class \hyperlink{group___scene_ga9534bbd3a2646322b2767289cb9c972c}{Ogre\+::\+Instanced\+Entity\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}
\item 
class \hyperlink{group___scene_gaf05a8273f12bc11f025607a06b3b3e2a}{Ogre\+::\+Instanced\+Entity\+::\+Instance\+Batch\+Shader}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Typedef Documentation}
\mbox{\Hypertarget{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}\label{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}} 
\index{Scene@{Scene}!Instanced\+Entity\+Vec@{Instanced\+Entity\+Vec}}
\index{Instanced\+Entity\+Vec@{Instanced\+Entity\+Vec}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instanced\+Entity\+Vec}{InstancedEntityVec}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}$\ast$$>$ \hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Ogre\+::\+Instance\+Batch\+::\+Instanced\+Entity\+Vec}}

\mbox{\Hypertarget{group___scene_ga062489fab9b63c057d5593364f0729a4}\label{group___scene_ga062489fab9b63c057d5593364f0729a4}} 
\index{Scene@{Scene}!Custom\+Params\+Vec@{Custom\+Params\+Vec}}
\index{Custom\+Params\+Vec@{Custom\+Params\+Vec}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Custom\+Params\+Vec}{CustomParamsVec}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{class_ogre_1_1_vector4}{Vector4}$>$ \hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Ogre\+::\+Instance\+Batch\+::\+Custom\+Params\+Vec}}

\mbox{\Hypertarget{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}\label{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}} 
\index{Scene@{Scene}!Instance\+Batch\+Map\+Iterator@{Instance\+Batch\+Map\+Iterator}}
\index{Instance\+Batch\+Map\+Iterator@{Instance\+Batch\+Map\+Iterator}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+Map\+Iterator}{InstanceBatchMapIterator}}
{\footnotesize\ttfamily typedef \hyperlink{class_ogre_1_1_const_map_iterator}{Const\+Map\+Iterator}$<$Instance\+Batch\+Map$>$ \hyperlink{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}{Ogre\+::\+Instance\+Manager\+::\+Instance\+Batch\+Map\+Iterator}}

\mbox{\Hypertarget{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}\label{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}} 
\index{Scene@{Scene}!Instance\+Batch\+Iterator@{Instance\+Batch\+Iterator}}
\index{Instance\+Batch\+Iterator@{Instance\+Batch\+Iterator}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+Iterator}{InstanceBatchIterator}}
{\footnotesize\ttfamily typedef \hyperlink{class_ogre_1_1_const_vector_iterator}{Const\+Vector\+Iterator}$<$Instance\+Batch\+Vec$>$ \hyperlink{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}{Ogre\+::\+Instance\+Manager\+::\+Instance\+Batch\+Iterator}}

\mbox{\Hypertarget{group___scene_gaa4b6dbd7bf722582a21fcc25d25f73ed}\label{group___scene_gaa4b6dbd7bf722582a21fcc25d25f73ed}} 
\index{Scene@{Scene}!Scene\+Type\+Mask@{Scene\+Type\+Mask}}
\index{Scene\+Type\+Mask@{Scene\+Type\+Mask}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Type\+Mask}{SceneTypeMask}}
{\footnotesize\ttfamily typedef \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} \hyperlink{group___scene_gaa4b6dbd7bf722582a21fcc25d25f73ed}{Ogre\+::\+Scene\+Type\+Mask}}



Bitmask containing scene types. 

\mbox{\Hypertarget{group___scene_gaeb1862543a1dcd5fc29dc4e549a71f15}\label{group___scene_gaeb1862543a1dcd5fc29dc4e549a71f15}} 
\index{Scene@{Scene}!Scene\+Query\+Result\+Movable\+List@{Scene\+Query\+Result\+Movable\+List}}
\index{Scene\+Query\+Result\+Movable\+List@{Scene\+Query\+Result\+Movable\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Result\+Movable\+List}{SceneQueryResultMovableList}}
{\footnotesize\ttfamily typedef std\+::list$<$\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}$\ast$$>$ \hyperlink{group___scene_gaeb1862543a1dcd5fc29dc4e549a71f15}{Ogre\+::\+Scene\+Query\+Result\+Movable\+List}}

\mbox{\Hypertarget{group___scene_ga92a09e47bee5654fe8587a739dde5b80}\label{group___scene_ga92a09e47bee5654fe8587a739dde5b80}} 
\index{Scene@{Scene}!Scene\+Query\+Result\+World\+Fragment\+List@{Scene\+Query\+Result\+World\+Fragment\+List}}
\index{Scene\+Query\+Result\+World\+Fragment\+List@{Scene\+Query\+Result\+World\+Fragment\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Result\+World\+Fragment\+List}{SceneQueryResultWorldFragmentList}}
{\footnotesize\ttfamily typedef std\+::list$<$\hyperlink{struct_ogre_1_1_scene_query_1_1_world_fragment}{Scene\+Query\+::\+World\+Fragment}$\ast$$>$ \hyperlink{group___scene_ga92a09e47bee5654fe8587a739dde5b80}{Ogre\+::\+Scene\+Query\+Result\+World\+Fragment\+List}}

\mbox{\Hypertarget{group___scene_gad131001f847e434a637a4e217d61cf7d}\label{group___scene_gad131001f847e434a637a4e217d61cf7d}} 
\index{Scene@{Scene}!Ray\+Scene\+Query\+Result@{Ray\+Scene\+Query\+Result}}
\index{Ray\+Scene\+Query\+Result@{Ray\+Scene\+Query\+Result}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Ray\+Scene\+Query\+Result}{RaySceneQueryResult}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{struct_ogre_1_1_ray_scene_query_result_entry}{Ray\+Scene\+Query\+Result\+Entry}$>$ \hyperlink{group___scene_gad131001f847e434a637a4e217d61cf7d}{Ogre\+::\+Ray\+Scene\+Query\+Result}}

\mbox{\Hypertarget{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}\label{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}} 
\index{Scene@{Scene}!Scene\+Query\+Movable\+Object\+Pair@{Scene\+Query\+Movable\+Object\+Pair}}
\index{Scene\+Query\+Movable\+Object\+Pair@{Scene\+Query\+Movable\+Object\+Pair}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Movable\+Object\+Pair}{SceneQueryMovableObjectPair}}
{\footnotesize\ttfamily typedef std\+::pair$<$\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}$\ast$, \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}$\ast$$>$ \hyperlink{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}{Ogre\+::\+Scene\+Query\+Movable\+Object\+Pair}}

\mbox{\Hypertarget{group___scene_gae8f394829e3a85cea6faa915ac391653}\label{group___scene_gae8f394829e3a85cea6faa915ac391653}} 
\index{Scene@{Scene}!Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair@{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}}
\index{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair@{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}{SceneQueryMovableObjectWorldFragmentPair}}
{\footnotesize\ttfamily typedef std\+::pair$<$\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}$\ast$, \hyperlink{struct_ogre_1_1_scene_query_1_1_world_fragment}{Scene\+Query\+::\+World\+Fragment}$\ast$$>$ \hyperlink{group___scene_gae8f394829e3a85cea6faa915ac391653}{Ogre\+::\+Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}}

\mbox{\Hypertarget{group___scene_gaaa1601dd915ea1b91530e88825dbfd2b}\label{group___scene_gaaa1601dd915ea1b91530e88825dbfd2b}} 
\index{Scene@{Scene}!Scene\+Query\+Movable\+Intersection\+List@{Scene\+Query\+Movable\+Intersection\+List}}
\index{Scene\+Query\+Movable\+Intersection\+List@{Scene\+Query\+Movable\+Intersection\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Movable\+Intersection\+List}{SceneQueryMovableIntersectionList}}
{\footnotesize\ttfamily typedef std\+::list$<$\hyperlink{group___scene_gaa1ca4f17a1e8bb7381446ae6235869d8}{Scene\+Query\+Movable\+Object\+Pair}$>$ \hyperlink{group___scene_gaaa1601dd915ea1b91530e88825dbfd2b}{Ogre\+::\+Scene\+Query\+Movable\+Intersection\+List}}

\mbox{\Hypertarget{group___scene_ga12d0977310ce2ed229d0345c620eff00}\label{group___scene_ga12d0977310ce2ed229d0345c620eff00}} 
\index{Scene@{Scene}!Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List@{Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List}}
\index{Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List@{Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List}{SceneQueryMovableWorldFragmentIntersectionList}}
{\footnotesize\ttfamily typedef std\+::list$<$\hyperlink{group___scene_gae8f394829e3a85cea6faa915ac391653}{Scene\+Query\+Movable\+Object\+World\+Fragment\+Pair}$>$ \hyperlink{group___scene_ga12d0977310ce2ed229d0345c620eff00}{Ogre\+::\+Scene\+Query\+Movable\+World\+Fragment\+Intersection\+List}}

\mbox{\Hypertarget{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}\label{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}} 
\index{Scene@{Scene}!Shadow\+Texture\+List@{Shadow\+Texture\+List}}
\index{Shadow\+Texture\+List@{Shadow\+Texture\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Shadow\+Texture\+List}{ShadowTextureList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr}$>$ \hyperlink{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}{Ogre\+::\+Shadow\+Texture\+List}}

\mbox{\Hypertarget{group___scene_ga498ca415d30ec282949ce7dce9d1db69}\label{group___scene_ga498ca415d30ec282949ce7dce9d1db69}} 
\index{Scene@{Scene}!Shadow\+Texture\+Config\+List@{Shadow\+Texture\+Config\+List}}
\index{Shadow\+Texture\+Config\+List@{Shadow\+Texture\+Config\+List}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Shadow\+Texture\+Config\+List}{ShadowTextureConfigList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config}$>$ \hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Ogre\+::\+Shadow\+Texture\+Config\+List}}

\mbox{\Hypertarget{group___scene_ga40acba93d9441f2bccfa096b641c887d}\label{group___scene_ga40acba93d9441f2bccfa096b641c887d}} 
\index{Scene@{Scene}!Const\+Shadow\+Texture\+Config\+Iterator@{Const\+Shadow\+Texture\+Config\+Iterator}}
\index{Const\+Shadow\+Texture\+Config\+Iterator@{Const\+Shadow\+Texture\+Config\+Iterator}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Const\+Shadow\+Texture\+Config\+Iterator}{ConstShadowTextureConfigIterator}}
{\footnotesize\ttfamily typedef \hyperlink{class_ogre_1_1_const_vector_iterator}{Const\+Vector\+Iterator}$<$\hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Shadow\+Texture\+Config\+List}$>$ \hyperlink{group___scene_ga40acba93d9441f2bccfa096b641c887d}{Ogre\+::\+Const\+Shadow\+Texture\+Config\+Iterator}}



\subsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group___scene_ga98fb2a9ada779b56d48f74040e96a622}\label{group___scene_ga98fb2a9ada779b56d48f74040e96a622}} 
\index{Scene@{Scene}!Instancing\+Technique@{Instancing\+Technique}}
\index{Instancing\+Technique@{Instancing\+Technique}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instancing\+Technique}{InstancingTechnique}}
{\footnotesize\ttfamily enum \hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Ogre\+::\+Instance\+Manager\+::\+Instancing\+Technique}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{Shader\+Based@{Shader\+Based}!Scene@{Scene}}\index{Scene@{Scene}!Shader\+Based@{Shader\+Based}}}\mbox{\Hypertarget{group___scene_gga98fb2a9ada779b56d48f74040e96a622adfd14a6d905e8f639010dceb63fd6a99}\label{group___scene_gga98fb2a9ada779b56d48f74040e96a622adfd14a6d905e8f639010dceb63fd6a99}} 
Shader\+Based&\hyperlink{class_ogre_1_1_any}{Any} SM 2.\+0+. \begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_instance_batch_shader}{Instance\+Batch\+Shader} 
\end{DoxySeeAlso}
\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Texture\+V\+TF@{Texture\+V\+TF}!Scene@{Scene}}\index{Scene@{Scene}!Texture\+V\+TF@{Texture\+V\+TF}}}\mbox{\Hypertarget{group___scene_gga98fb2a9ada779b56d48f74040e96a622aa936e137d1695cec1b763a270dc73a3e}\label{group___scene_gga98fb2a9ada779b56d48f74040e96a622aa936e137d1695cec1b763a270dc73a3e}} 
Texture\+V\+TF&Needs Vertex \hyperlink{class_ogre_1_1_texture}{Texture} Fetch \& SM 3.\+0+. \begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_instance_batch_v_t_f}{Instance\+Batch\+V\+TF} 
\end{DoxySeeAlso}
\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{H\+W\+Instancing\+Basic@{H\+W\+Instancing\+Basic}!Scene@{Scene}}\index{Scene@{Scene}!H\+W\+Instancing\+Basic@{H\+W\+Instancing\+Basic}}}\mbox{\Hypertarget{group___scene_gga98fb2a9ada779b56d48f74040e96a622a20f1ebda9178d5f5f4ebe613f3432eac}\label{group___scene_gga98fb2a9ada779b56d48f74040e96a622a20f1ebda9178d5f5f4ebe613f3432eac}} 
H\+W\+Instancing\+Basic&Needs SM 3.\+0+ and HW instancing support. \begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_instance_batch_h_w}{Instance\+Batch\+HW} 
\end{DoxySeeAlso}
\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{H\+W\+Instancing\+V\+TF@{H\+W\+Instancing\+V\+TF}!Scene@{Scene}}\index{Scene@{Scene}!H\+W\+Instancing\+V\+TF@{H\+W\+Instancing\+V\+TF}}}\mbox{\Hypertarget{group___scene_gga98fb2a9ada779b56d48f74040e96a622ac1ad45db6c7bc954c0374c37c8ed1b0d}\label{group___scene_gga98fb2a9ada779b56d48f74040e96a622ac1ad45db6c7bc954c0374c37c8ed1b0d}} 
H\+W\+Instancing\+V\+TF&Needs SM 3.\+0+, HW instancing support \& V\+TF. \begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_instance_batch_h_w___v_t_f}{Instance\+Batch\+H\+W\+\_\+\+V\+TF} 
\end{DoxySeeAlso}
\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Instancing\+Techniques\+Count@{Instancing\+Techniques\+Count}!Scene@{Scene}}\index{Scene@{Scene}!Instancing\+Techniques\+Count@{Instancing\+Techniques\+Count}}}\mbox{\Hypertarget{group___scene_gga98fb2a9ada779b56d48f74040e96a622a3efbc531e529142ddfd5c7272a373ece}\label{group___scene_gga98fb2a9ada779b56d48f74040e96a622a3efbc531e529142ddfd5c7272a373ece}} 
Instancing\+Techniques\+Count&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___scene_ga7832eb9e2627f71382fefc7293482508}\label{group___scene_ga7832eb9e2627f71382fefc7293482508}} 
\index{Scene@{Scene}!Batch\+Setting\+Id@{Batch\+Setting\+Id}}
\index{Batch\+Setting\+Id@{Batch\+Setting\+Id}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Batch\+Setting\+Id}{BatchSettingId}}
{\footnotesize\ttfamily enum \hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Ogre\+::\+Instance\+Manager\+::\+Batch\+Setting\+Id}}



Values to be used in \hyperlink{group___scene_gacbaa392a89ee55cb80da7314d8ad9dfd}{set\+Setting()} \& Batch\+Settings\+::setting. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS@{C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS}!Scene@{Scene}}\index{Scene@{Scene}!C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS@{C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS}}}\mbox{\Hypertarget{group___scene_gga7832eb9e2627f71382fefc7293482508a4fa34122dba5df1604cd9cd44ee1c519}\label{group___scene_gga7832eb9e2627f71382fefc7293482508a4fa34122dba5df1604cd9cd44ee1c519}} 
C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+WS&Makes all batches from same material cast shadows. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX@{S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX}!Scene@{Scene}}\index{Scene@{Scene}!S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX@{S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX}}}\mbox{\Hypertarget{group___scene_gga7832eb9e2627f71382fefc7293482508a5aa5845eaa01e5c54fc92fc74b2f4176}\label{group___scene_gga7832eb9e2627f71382fefc7293482508a5aa5845eaa01e5c54fc92fc74b2f4176}} 
S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX&Makes each batch to display it\textquotesingle{}s bounding box. Useful for debugging or profiling. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS@{N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS}!Scene@{Scene}}\index{Scene@{Scene}!N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS@{N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS}}}\mbox{\Hypertarget{group___scene_gga7832eb9e2627f71382fefc7293482508a93252cb20077bbc127c02d96f5d696f0}\label{group___scene_gga7832eb9e2627f71382fefc7293482508a93252cb20077bbc127c02d96f5d696f0}} 
N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___scene_ga7383602bd480d43b80c626969b9af914}\label{group___scene_ga7383602bd480d43b80c626969b9af914}} 
\index{Scene@{Scene}!Scene\+Type@{Scene\+Type}}
\index{Scene\+Type@{Scene\+Type}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Scene\+Type}{SceneType}}
{\footnotesize\ttfamily enum \hyperlink{group___scene_ga7383602bd480d43b80c626969b9af914}{Ogre\+::\+Scene\+Type}}



Classification of a scene to allow a decision of what type of Sceen\+Manager to provide back to the application. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+T\+\_\+\+G\+E\+N\+E\+R\+IC@{S\+T\+\_\+\+G\+E\+N\+E\+R\+IC}!Scene@{Scene}}\index{Scene@{Scene}!S\+T\+\_\+\+G\+E\+N\+E\+R\+IC@{S\+T\+\_\+\+G\+E\+N\+E\+R\+IC}}}\mbox{\Hypertarget{group___scene_gga7383602bd480d43b80c626969b9af914a0af8f844019e52fe112e9a946a919fcd}\label{group___scene_gga7383602bd480d43b80c626969b9af914a0af8f844019e52fe112e9a946a919fcd}} 
S\+T\+\_\+\+G\+E\+N\+E\+R\+IC&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE}!Scene@{Scene}}\index{Scene@{Scene}!S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE}}}\mbox{\Hypertarget{group___scene_gga7383602bd480d43b80c626969b9af914ae83ae1c9a6e4816184441db4a140e70a}\label{group___scene_gga7383602bd480d43b80c626969b9af914ae83ae1c9a6e4816184441db4a140e70a}} 
S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+C\+L\+O\+SE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR}!Scene@{Scene}}\index{Scene@{Scene}!S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR}}}\mbox{\Hypertarget{group___scene_gga7383602bd480d43b80c626969b9af914a8bf5864d5ab311e0512ed153c95f1d13}\label{group___scene_gga7383602bd480d43b80c626969b9af914a8bf5864d5ab311e0512ed153c95f1d13}} 
S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+F\+AR&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR}!Scene@{Scene}}\index{Scene@{Scene}!S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR@{S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR}}}\mbox{\Hypertarget{group___scene_gga7383602bd480d43b80c626969b9af914a7eecd7057b3487616075032560582ec1}\label{group___scene_gga7383602bd480d43b80c626969b9af914a7eecd7057b3487616075032560582ec1}} 
S\+T\+\_\+\+E\+X\+T\+E\+R\+I\+O\+R\+\_\+\+R\+E\+A\+L\+\_\+\+F\+AR&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR@{S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR}!Scene@{Scene}}\index{Scene@{Scene}!S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR@{S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR}}}\mbox{\Hypertarget{group___scene_gga7383602bd480d43b80c626969b9af914a93f2170ad3a8132f29264dc3642a2dcf}\label{group___scene_gga7383602bd480d43b80c626969b9af914a93f2170ad3a8132f29264dc3642a2dcf}} 
S\+T\+\_\+\+I\+N\+T\+E\+R\+I\+OR&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___scene_ga5422f3d75ddc606ee01f69d14e37a8cc}\label{group___scene_ga5422f3d75ddc606ee01f69d14e37a8cc}} 
\index{Scene@{Scene}!Shadow\+Renderable\+Flags@{Shadow\+Renderable\+Flags}}
\index{Shadow\+Renderable\+Flags@{Shadow\+Renderable\+Flags}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Shadow\+Renderable\+Flags}{ShadowRenderableFlags}}
{\footnotesize\ttfamily enum \hyperlink{group___scene_ga5422f3d75ddc606ee01f69d14e37a8cc}{Ogre\+::\+Shadow\+Renderable\+Flags}}



A set of flags that can be used to influence \hyperlink{class_ogre_1_1_shadow_renderable}{Shadow\+Renderable} creation. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP@{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP}!Scene@{Scene}}\index{Scene@{Scene}!S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP@{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP}}}\mbox{\Hypertarget{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca42b7242b2403601a94289579c0484b7e}\label{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca42b7242b2403601a94289579c0484b7e}} 
S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+L\+I\+G\+H\+T\+\_\+\+C\+AP&For shadow volume techniques only, generate a light cap on the volume. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP@{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP}!Scene@{Scene}}\index{Scene@{Scene}!S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP@{S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP}}}\mbox{\Hypertarget{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca33f01b987b6a184a90c99533cc257992}\label{group___scene_gga5422f3d75ddc606ee01f69d14e37a8cca33f01b987b6a184a90c99533cc257992}} 
S\+R\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+D\+A\+R\+K\+\_\+\+C\+AP&For shadow volume techniques only, generate a dark cap on the volume. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY@{S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY}!Scene@{Scene}}\index{Scene@{Scene}!S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY@{S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY}}}\mbox{\Hypertarget{group___scene_gga5422f3d75ddc606ee01f69d14e37a8ccacb424293924baf3e1b2bb29041270fec}\label{group___scene_gga5422f3d75ddc606ee01f69d14e37a8ccacb424293924baf3e1b2bb29041270fec}} 
S\+R\+F\+\_\+\+E\+X\+T\+R\+U\+D\+E\+\_\+\+T\+O\+\_\+\+I\+N\+F\+I\+N\+I\+TY&For shadow volume techniques only, indicates volume is extruded to infinity. \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___scene_ga7c11c8a17d7bbfc5aab6f982fb0d7f38}\label{group___scene_ga7c11c8a17d7bbfc5aab6f982fb0d7f38}} 
\index{Scene@{Scene}!Face\+Group\+Type@{Face\+Group\+Type}}
\index{Face\+Group\+Type@{Face\+Group\+Type}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Face\+Group\+Type}{FaceGroupType}}
{\footnotesize\ttfamily enum \hyperlink{group___scene_ga7c11c8a17d7bbfc5aab6f982fb0d7f38}{Ogre\+::\+Face\+Group\+Type}}



A type of face group, i.\+e. 

face list of procedural etc \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST@{F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST}!Scene@{Scene}}\index{Scene@{Scene}!F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST@{F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST}}}\mbox{\Hypertarget{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a06ae7e34bd024924db27d7a490c545e4}\label{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a06ae7e34bd024924db27d7a490c545e4}} 
F\+G\+T\+\_\+\+F\+A\+C\+E\+\_\+\+L\+I\+ST&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{F\+G\+T\+\_\+\+P\+A\+T\+CH@{F\+G\+T\+\_\+\+P\+A\+T\+CH}!Scene@{Scene}}\index{Scene@{Scene}!F\+G\+T\+\_\+\+P\+A\+T\+CH@{F\+G\+T\+\_\+\+P\+A\+T\+CH}}}\mbox{\Hypertarget{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38ab0cfe6b33db8e2804a5f50ae51d59ff5}\label{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38ab0cfe6b33db8e2804a5f50ae51d59ff5}} 
F\+G\+T\+\_\+\+P\+A\+T\+CH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN@{F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN}!Scene@{Scene}}\index{Scene@{Scene}!F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN@{F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN}}}\mbox{\Hypertarget{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a8d46b5184ac4f071e0f287f89e1b253b}\label{group___scene_gga7c11c8a17d7bbfc5aab6f982fb0d7f38a8d46b5184ac4f071e0f287f89e1b253b}} 
F\+G\+T\+\_\+\+U\+N\+K\+N\+O\+WN&\\
\hline

\end{DoxyEnumFields}


\subsection{Function Documentation}
\mbox{\Hypertarget{group___scene_ga0606fa0d1231bb9d5b78ec9115428db8}\label{group___scene_ga0606fa0d1231bb9d5b78ec9115428db8}} 
\index{Scene@{Scene}!Instance\+Batch@{Instance\+Batch}}
\index{Instance\+Batch@{Instance\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch()}{InstanceBatch()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Batch\+::\+Instance\+Batch (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_ga65c587286204ff6174c4283dd3541e22}\label{group___scene_ga65c587286204ff6174c4283dd3541e22}} 
\index{Scene@{Scene}!````~Instance\+Batch@{$\sim$\+Instance\+Batch}}
\index{````~Instance\+Batch@{$\sim$\+Instance\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instance\+Batch()}{~InstanceBatch()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Instance\+Batch\+::$\sim$\+Instance\+Batch (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_gaf1b34a5640923cb56c47153321cd317a}\label{group___scene_gaf1b34a5640923cb56c47153321cd317a}} 
\index{Scene@{Scene}!\+\_\+get\+Mesh\+Ref@{\+\_\+get\+Mesh\+Ref}}
\index{\+\_\+get\+Mesh\+Ref@{\+\_\+get\+Mesh\+Ref}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Mesh\+Ref()}{\_getMeshRef()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr}\& Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Mesh\+Ref (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga810d6dd7b95994be19c0b49d2f1f4267}\label{group___scene_ga810d6dd7b95994be19c0b49d2f1f4267}} 
\index{Scene@{Scene}!\+\_\+set\+Instances\+Per\+Batch@{\+\_\+set\+Instances\+Per\+Batch}}
\index{\+\_\+set\+Instances\+Per\+Batch@{\+\_\+set\+Instances\+Per\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+set\+Instances\+Per\+Batch()}{\_setInstancesPerBatch()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+set\+Instances\+Per\+Batch (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{instances\+Per\+Batch }\end{DoxyParamCaption})}



Raises an exception if trying to change it after being built. 

\mbox{\Hypertarget{group___scene_ga2c7d869d9a47056507998a99bf6383df}\label{group___scene_ga2c7d869d9a47056507998a99bf6383df}} 
\index{Scene@{Scene}!\+\_\+get\+Index\+To\+Bone\+Map@{\+\_\+get\+Index\+To\+Bone\+Map}}
\index{\+\_\+get\+Index\+To\+Bone\+Map@{\+\_\+get\+Index\+To\+Bone\+Map}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Index\+To\+Bone\+Map()}{\_getIndexToBoneMap()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map}$\ast$ Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Index\+To\+Bone\+Map (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga595dea7ab487def43e80c26715cb8591}\label{group___scene_ga595dea7ab487def43e80c26715cb8591}} 
\index{Scene@{Scene}!\+\_\+supports\+Skeletal\+Animation@{\+\_\+supports\+Skeletal\+Animation}}
\index{\+\_\+supports\+Skeletal\+Animation@{\+\_\+supports\+Skeletal\+Animation}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+supports\+Skeletal\+Animation()}{\_supportsSkeletalAnimation()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Batch\+::\+\_\+supports\+Skeletal\+Animation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if this technique supports skeletal animation. 

\begin{DoxyRemark}{Remarks}
A virtual function could have been used, but using a simple variable overridden by the derived class is faster than virtual call overhead. And both are clean ways of implementing it. 
\end{DoxyRemark}
\mbox{\Hypertarget{group___scene_ga8073edd16937723e2b2db8ba51672dc1}\label{group___scene_ga8073edd16937723e2b2db8ba51672dc1}} 
\index{Scene@{Scene}!\+\_\+update\+Bounds@{\+\_\+update\+Bounds}}
\index{\+\_\+update\+Bounds@{\+\_\+update\+Bounds}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Bounds()}{\_updateBounds()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+update\+Bounds (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
Instance\+Manager\+::update\+Dirty\+Batches 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga4004a72311611ab1955c5c09a2d20452}\label{group___scene_ga4004a72311611ab1955c5c09a2d20452}} 
\index{Scene@{Scene}!calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}}
\index{calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{calculate\+Max\+Num\+Instances()}{calculateMaxNumInstances()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily virtual size\+\_\+t Ogre\+::\+Instance\+Batch\+::calculate\+Max\+Num\+Instances (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Some techniques have a limit on how many instances can be done. 

Sometimes even depends on the material being used. \begin{DoxyParagraph}{}
Note this is a helper function, as such it takes a submesh base to compute the parameters, instead of using the object\textquotesingle{}s own. This allows querying for a technique without requiering to actually build it. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em base\+Sub\+Mesh} & The base submesh that will be using to build it. \\
\hline
{\em flags} & Flags to pass to the \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager}. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___general_ga4921efc65b347efe08a6d4992af069e2}{Instance\+Manager\+Flags} 
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
The max instances limit 
\end{DoxyReturn}


Implemented in \hyperlink{group___scene_ga01ff033a0dddc01ea7037d4c96d0bed2}{Ogre\+::\+Instance\+Batch\+V\+TF}, \hyperlink{group___scene_ga0b8958bd878c7028e19b789188c631ca}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}, \hyperlink{group___scene_ga601f9ff1af35db597efb62a4c582be22}{Ogre\+::\+Instance\+Batch\+Shader}, and \hyperlink{group___scene_ga199ccdf597eb82ccf4d2a197c2824637}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_ga7c7e77b52df342b78e04d0294f741df2}\label{group___scene_ga7c7e77b52df342b78e04d0294f741df2}} 
\index{Scene@{Scene}!build@{build}}
\index{build@{build}!Scene@{Scene}}
\subsubsection{\texorpdfstring{build()}{build()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} Ogre\+::\+Instance\+Batch\+::build (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Constructs all the data needed to use this batch, as well as the Instance\+Entities. 

Placed here because in the constructor virtual tables may not have been yet filled. 
\begin{DoxyParams}{Parameters}
{\em base\+Sub\+Mesh} & A sub mesh which the instances will be based upon from. \\
\hline
\end{DoxyParams}
\begin{DoxyRemark}{Remarks}
Call this only O\+N\+CE. This is done automatically by \hyperlink{class_ogre_1_1_instance_manager}{Ogre\+::\+Instance\+Manager} Caller is responsable for freeing buffers in this \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} Buffers inside the Render\+Op may be null if the built failed. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
A render operation which is very useful to pass to other Instance\+Batches (
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{build\+From}) so that they share the same vertex buffers and indices, when possible 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}\label{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}} 
\index{Scene@{Scene}!build\+From@{build\+From}}
\index{build\+From@{build\+From}!Scene@{Scene}}
\subsubsection{\texorpdfstring{build\+From()}{buildFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+::build\+From (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{render\+Operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Instancing consumes significantly more G\+PU memory than regular rendering methods. 

However, multiple batches can share most, if not all, of the vertex \& index buffers to save memory. Derived classes are free to overload this method to manipulate what to reference from Render Op. For example, Hardware based instancing uses it\textquotesingle{}s own vertex buffer for the last source binding, but shares the other sources. 
\begin{DoxyParams}{Parameters}
{\em render\+Operation} & The Render\+Op to reference. \\
\hline
\end{DoxyParams}
\begin{DoxyRemark}{Remarks}
Caller is responsable for freeing buffers passed as input arguments This function replaces the need to call \hyperlink{group___scene_ga7c7e77b52df342b78e04d0294f741df2}{build()} 
\end{DoxyRemark}


Reimplemented in \hyperlink{group___scene_gac97af4ce33324a1c9f9b812e5e7ae1c9}{Ogre\+::\+Base\+Instance\+Batch\+V\+TF}, \hyperlink{group___scene_gab693390768c3d31ec33a288fc8666b2a}{Ogre\+::\+Instance\+Batch\+Shader}, and \hyperlink{group___scene_ga3f73c0ba5217fcafbe1c5246c31bc7be}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_gabb49c936058ba3730d2010891ceae8c9}\label{group___scene_gabb49c936058ba3730d2010891ceae8c9}} 
\index{Scene@{Scene}!\+\_\+get\+Mesh\+Reference@{\+\_\+get\+Mesh\+Reference}}
\index{\+\_\+get\+Mesh\+Reference@{\+\_\+get\+Mesh\+Reference}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Mesh\+Reference()}{\_getMeshReference()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Ogre\+::\+Mesh\+Ptr}\& Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Mesh\+Reference (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_gab0b51a9927616fef936e30d5fbae1883}\label{group___scene_gab0b51a9927616fef936e30d5fbae1883}} 
\index{Scene@{Scene}!is\+Batch\+Full@{is\+Batch\+Full}}
\index{is\+Batch\+Full@{is\+Batch\+Full}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+Batch\+Full()}{isBatchFull()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Batch\+::is\+Batch\+Full (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxyReturn}{Returns}
true if it can not create more Instanced\+Entities (Num Instanced\+Entities == m\+Instances\+Per\+Batch) 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_ga087b46326b8f4d0306893a468361d1d5}\label{group___scene_ga087b46326b8f4d0306893a468361d1d5}} 
\index{Scene@{Scene}!is\+Batch\+Unused@{is\+Batch\+Unused}}
\index{is\+Batch\+Unused@{is\+Batch\+Unused}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+Batch\+Unused()}{isBatchUnused()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Batch\+::is\+Batch\+Unused (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if it no instanced entity has been requested or all of them have been removed. 

\mbox{\Hypertarget{group___scene_gaf04ddc9e478466c38ef6580a0549ff29}\label{group___scene_gaf04ddc9e478466c38ef6580a0549ff29}} 
\index{Scene@{Scene}!get\+Instanced\+Entities\+In\+Use@{get\+Instanced\+Entities\+In\+Use}}
\index{get\+Instanced\+Entities\+In\+Use@{get\+Instanced\+Entities\+In\+Use}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Instanced\+Entities\+In\+Use()}{getInstancedEntitiesInUse()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::get\+Instanced\+Entities\+In\+Use (\begin{DoxyParamCaption}\item[{\hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Instanced\+Entity\+Vec} \&}]{out\+Entities,  }\item[{\hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Custom\+Params\+Vec} \&}]{out\+Params }\end{DoxyParamCaption})}



Fills the input vector with the instances that are currently being used or were requested. 

Used for defragmentation, \begin{DoxySeeAlso}{See also}
Instance\+Manager\+::defragment\+Batches 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga44d78b230b026f76fae1ef3ca248d97f}\label{group___scene_ga44d78b230b026f76fae1ef3ca248d97f}} 
\index{Scene@{Scene}!\+\_\+defragment\+Batch@{\+\_\+defragment\+Batch}}
\index{\+\_\+defragment\+Batch@{\+\_\+defragment\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+defragment\+Batch()}{\_defragmentBatch()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+defragment\+Batch (\begin{DoxyParamCaption}\item[{bool}]{optimize\+Culling,  }\item[{\hyperlink{group___scene_gaf70984bf9f63b82ce29fde4f0d5f6cf2}{Instanced\+Entity\+Vec} \&}]{used\+Entities,  }\item[{\hyperlink{group___scene_ga062489fab9b63c057d5593364f0729a4}{Custom\+Params\+Vec} \&}]{used\+Params }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
Instance\+Manager\+::defragment\+Batches This function takes Instanced\+Entities and pushes back all entities it can fit here Extra entities in m\+Unused\+Entities are destroyed (so that used + unused = m\+Instanced\+Entities.\+size()) 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em optimize\+Culling} & true will call the Do\+Cull version, false the No\+Cull \\
\hline
{\em used\+Entities} & Array of Instanced\+Entities to parent with this batch. Those reparented are removed from this input vector \\
\hline
{\em used\+Params} & Array of Custom parameters correlated with the Instanced\+Entities in used\+Entities. They follow the fate of the entities in that vector. \\
\hline
\end{DoxyParams}
\begin{DoxyRemark}{Remarks}
\+: This function assumes caller holds data to m\+Instanced\+Entities! Otherwise you can get memory leaks. Don\textquotesingle{}t call this directly if you don\textquotesingle{}t know what you\textquotesingle{}re doing! 
\end{DoxyRemark}
\mbox{\Hypertarget{group___scene_ga707b7dc9f29486a9ad3f07f9c96665f7}\label{group___scene_ga707b7dc9f29486a9ad3f07f9c96665f7}} 
\index{Scene@{Scene}!\+\_\+defragment\+Batch\+Discard@{\+\_\+defragment\+Batch\+Discard}}
\index{\+\_\+defragment\+Batch\+Discard@{\+\_\+defragment\+Batch\+Discard}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+defragment\+Batch\+Discard()}{\_defragmentBatchDiscard()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+defragment\+Batch\+Discard (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
Instance\+Manager\+::\+\_\+defragment\+Batch\+Discard Destroys unused entities and clears the m\+Instanced\+Entity container which avoids leaving dangling pointers from reparented Instanced\+Entities Usually called before deleting this pointer. Don\textquotesingle{}t call directly! 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga9e6dfe915b52c9463a503d690ae7da4f}\label{group___scene_ga9e6dfe915b52c9463a503d690ae7da4f}} 
\index{Scene@{Scene}!\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}}
\index{\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+bounds\+Dirty()}{\_boundsDirty()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+::\+\_\+bounds\+Dirty (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called by Instanced\+Entity(s) to tell us we need to update the bounds (we touch the \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} so the \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} aknowledges such change) 



Reimplemented in \hyperlink{group___scene_gabbea0657572df2d28a184666d1fd128f}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}, and \hyperlink{group___scene_gafa38ad39cc49abd167a8bb1075dc2c2d}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_gaae254079f412672ce137dddb9736028a}\label{group___scene_gaae254079f412672ce137dddb9736028a}} 
\index{Scene@{Scene}!set\+Static\+And\+Update@{set\+Static\+And\+Update}}
\index{set\+Static\+And\+Update@{set\+Static\+And\+Update}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Static\+And\+Update()}{setStaticAndUpdate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+::set\+Static\+And\+Update (\begin{DoxyParamCaption}\item[{bool}]{b\+Static }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Tells this batch to stop updating animations, positions, rotations, and display all it\textquotesingle{}s active instances. 

Currently only \hyperlink{class_ogre_1_1_instance_batch_h_w}{Instance\+Batch\+HW} \& \hyperlink{class_ogre_1_1_instance_batch_h_w___v_t_f}{Instance\+Batch\+H\+W\+\_\+\+V\+TF} support it. This option makes the batch behave pretty much like Static Geometry, but with the G\+PU R\+AM memory advantages (less V\+R\+AM, less bandwidth) and not L\+OD support. Very useful for billboards of trees, repeating vegetation, etc. \begin{DoxyRemark}{Remarks}
This function moves a lot of processing time from the C\+PU to the G\+PU. If the G\+PU is already a bottleneck, you may see a decrease in performance instead! Call this function again (with b\+Static=true) if you\textquotesingle{}ve made a change to an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} and wish this change to take effect. Be sure to call this after you\textquotesingle{}ve set all your instances 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaca94c5dd0221ddf54f9881f859eef523}{Instance\+Batch\+H\+W\+::set\+Static\+And\+Update} 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{group___scene_ga7fe07d3823f85fad2479cd41fab69777}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}, and \hyperlink{group___scene_gaca94c5dd0221ddf54f9881f859eef523}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_gafbad76bb979934adc96dfd791ae00100}\label{group___scene_gafbad76bb979934adc96dfd791ae00100}} 
\index{Scene@{Scene}!is\+Static@{is\+Static}}
\index{is\+Static@{is\+Static}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+Static()}{isStatic()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Instance\+Batch\+::is\+Static (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns true if this batch was set as static. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{set\+Static\+And\+Update} 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{group___scene_ga7c7505161801cb95b4a1051affdf2af7}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}, and \hyperlink{group___scene_ga7438d8f28274b7c45ac91a0fa73f3773}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_ga6acd24f5b5aa6ea29d1d3baf57603dd2}\label{group___scene_ga6acd24f5b5aa6ea29d1d3baf57603dd2}} 
\index{Scene@{Scene}!create\+Instanced\+Entity@{create\+Instanced\+Entity}}
\index{create\+Instanced\+Entity@{create\+Instanced\+Entity}!Scene@{Scene}}
\subsubsection{\texorpdfstring{create\+Instanced\+Entity()}{createInstancedEntity()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}$\ast$ Ogre\+::\+Instance\+Batch\+::create\+Instanced\+Entity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns a pointer to a new \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} ready to use Note it\textquotesingle{}s actually preallocated, so no memory allocation happens at this point. 

\begin{DoxyRemark}{Remarks}
Returns N\+U\+LL if all instances are being used 
\end{DoxyRemark}
\mbox{\Hypertarget{group___scene_ga6603588204263c7d16173169a5e327e7}\label{group___scene_ga6603588204263c7d16173169a5e327e7}} 
\index{Scene@{Scene}!remove\+Instanced\+Entity@{remove\+Instanced\+Entity}}
\index{remove\+Instanced\+Entity@{remove\+Instanced\+Entity}!Scene@{Scene}}
\subsubsection{\texorpdfstring{remove\+Instanced\+Entity()}{removeInstancedEntity()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::remove\+Instanced\+Entity (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$}]{instanced\+Entity }\end{DoxyParamCaption})}



Removes an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} from the scene retrieved with get\+New\+Instanced\+Entity, putting back into a queue. 

\begin{DoxyRemark}{Remarks}
Throws an exception if the instanced entity wasn\textquotesingle{}t created by this batch Removed instanced entities save little C\+PU time, but {\itshape not} G\+PU 
\end{DoxyRemark}
\mbox{\Hypertarget{group___scene_gae9443eee762d758695d1de5eda06957c}\label{group___scene_gae9443eee762d758695d1de5eda06957c}} 
\index{Scene@{Scene}!use\+Bone\+World\+Matrices@{use\+Bone\+World\+Matrices}}
\index{use\+Bone\+World\+Matrices@{use\+Bone\+World\+Matrices}!Scene@{Scene}}
\subsubsection{\texorpdfstring{use\+Bone\+World\+Matrices()}{useBoneWorldMatrices()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Instance\+Batch\+::use\+Bone\+World\+Matrices (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Tells whether world bone matrices need to be calculated. 

This does not include bone matrices which are calculated regardless 

Reimplemented in \hyperlink{group___scene_ga3de0cec85d8506862c964e5980553496}{Ogre\+::\+Base\+Instance\+Batch\+V\+TF}.

\mbox{\Hypertarget{group___scene_ga2773601083f5a3d41dd071aec04fd5d8}\label{group___scene_ga2773601083f5a3d41dd071aec04fd5d8}} 
\index{Scene@{Scene}!\+\_\+mark\+Transform\+Sharing\+Dirty@{\+\_\+mark\+Transform\+Sharing\+Dirty}}
\index{\+\_\+mark\+Transform\+Sharing\+Dirty@{\+\_\+mark\+Transform\+Sharing\+Dirty}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+mark\+Transform\+Sharing\+Dirty()}{\_markTransformSharingDirty()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+mark\+Transform\+Sharing\+Dirty (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Tells that the list of entity instances with shared transforms has changed. 

\mbox{\Hypertarget{group___scene_ga62ac297aa71e017ec1ab97929c06e036}\label{group___scene_ga62ac297aa71e017ec1ab97929c06e036}} 
\index{Scene@{Scene}!\+\_\+set\+Custom\+Param@{\+\_\+set\+Custom\+Param}}
\index{\+\_\+set\+Custom\+Param@{\+\_\+set\+Custom\+Param}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+set\+Custom\+Param()}{\_setCustomParam()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+set\+Custom\+Param (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$}]{instanced\+Entity,  }\item[{unsigned char}]{idx,  }\item[{const \hyperlink{class_ogre_1_1_vector4}{Vector4} \&}]{new\+Param }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga0562933b30acaa9ce172d36dd56e94b4}{Instanced\+Entity\+::set\+Custom\+Param} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_gaff4d0e256c7506949ad849e38c248ba4}\label{group___scene_gaff4d0e256c7506949ad849e38c248ba4}} 
\index{Scene@{Scene}!\+\_\+get\+Custom\+Param@{\+\_\+get\+Custom\+Param}}
\index{\+\_\+get\+Custom\+Param@{\+\_\+get\+Custom\+Param}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Custom\+Param()}{\_getCustomParam()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector4}{Vector4}\& Ogre\+::\+Instance\+Batch\+::\+\_\+get\+Custom\+Param (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$}]{instanced\+Entity,  }\item[{unsigned char}]{idx }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gae3ed38cdf3fbf06dac6c29777d45706f}{Instanced\+Entity\+::get\+Custom\+Param} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_gabf2e0f5e70a4984aeafc67d016111e46}\label{group___scene_gabf2e0f5e70a4984aeafc67d016111e46}} 
\index{Scene@{Scene}!get\+Material@{get\+Material}}
\index{get\+Material@{get\+Material}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Material()}{getMaterial()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}\& Ogre\+::\+Instance\+Batch\+::get\+Material (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Retrieves a weak reference to the material this renderable object uses. 

\begin{DoxyRemark}{Remarks}
Note that the \hyperlink{class_ogre_1_1_renderable}{Renderable} also has the option to override the get\+Technique method to specify a particular \hyperlink{class_ogre_1_1_technique}{Technique} to use instead of the best one available. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_renderable_a7132944645c7b62d6b2bfff6a64fad31}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_gadcb91b7c109b3b4b74504b7dd5f7a13d}\label{group___scene_gadcb91b7c109b3b4b74504b7dd5f7a13d}} 
\index{Scene@{Scene}!get\+Render\+Operation@{get\+Render\+Operation}}
\index{get\+Render\+Operation@{get\+Render\+Operation}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Render\+Operation()}{getRenderOperation()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::get\+Render\+Operation (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{op }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Gets the render operation required to send this object to the frame buffer. 



Implements \hyperlink{class_ogre_1_1_renderable_a3621cee2a019e59d3671c1a204caf4c7}{Ogre\+::\+Renderable}.



References Ogre\+::\+Renderable\+::get\+User\+Any(), and Ogre\+::\+Renderable\+::set\+User\+Any().

\mbox{\Hypertarget{group___scene_ga0cb7f8123b4fa74968839c1f57f655f8}\label{group___scene_ga0cb7f8123b4fa74968839c1f57f655f8}} 
\index{Scene@{Scene}!get\+Squared\+View\+Depth@{get\+Squared\+View\+Depth}}
\index{get\+Squared\+View\+Depth@{get\+Squared\+View\+Depth}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Squared\+View\+Depth()}{getSquaredViewDepth()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Instance\+Batch\+::get\+Squared\+View\+Depth (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_camera}{Camera} $\ast$}]{cam }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the camera-\/relative squared depth of this renderable. 

\begin{DoxyRemark}{Remarks}
Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_renderable_a32353addc2f1d02512314b5d1a53c5c1}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga286e02d5a387e4a629a440446418f26e}\label{group___scene_ga286e02d5a387e4a629a440446418f26e}} 
\index{Scene@{Scene}!get\+Lights@{get\+Lights}}
\index{get\+Lights@{get\+Lights}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Lights()}{getLights()}}
{\footnotesize\ttfamily const \hyperlink{group___general_gaab30ef14aae93306a6044cb38d835f0c}{Light\+List}\& Ogre\+::\+Instance\+Batch\+::get\+Lights (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Gets a list of lights, ordered relative to how close they are to this renderable. 

\begin{DoxyRemark}{Remarks}
Directional lights, which have no position, will always be first on this list. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_renderable_a91a5cc5e517b7c79fa510b9fdcc98691}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga669f14748bd5c2cf8c8559c83371bdf5}\label{group___scene_ga669f14748bd5c2cf8c8559c83371bdf5}} 
\index{Scene@{Scene}!get\+Technique@{get\+Technique}}
\index{get\+Technique@{get\+Technique}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Technique()}{getTechnique()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_technique}{Technique}$\ast$ Ogre\+::\+Instance\+Batch\+::get\+Technique (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves a pointer to the \hyperlink{class_ogre_1_1_material}{Material} \hyperlink{class_ogre_1_1_technique}{Technique} this renderable object uses. 

\begin{DoxyRemark}{Remarks}
This is to allow Renderables to use a chosen \hyperlink{class_ogre_1_1_technique}{Technique} if they wish, otherwise they will use the best \hyperlink{class_ogre_1_1_technique}{Technique} available for the \hyperlink{class_ogre_1_1_material}{Material} they are using. 
\end{DoxyRemark}


Reimplemented from \hyperlink{class_ogre_1_1_renderable_acc31580439662586a72b25a5604b300f}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga594f79fee334537c1e64abe4777d77fa}\label{group___scene_ga594f79fee334537c1e64abe4777d77fa}} 
\index{Scene@{Scene}!get\+Movable\+Type@{get\+Movable\+Type}}
\index{get\+Movable\+Type@{get\+Movable\+Type}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Movable\+Type()}{getMovableType()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Instance\+Batch\+::get\+Movable\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the type name of this object. 



Implements \hyperlink{class_ogre_1_1_movable_object_a7391beac8beb20e3e3d650173d33a3ff}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gaeb967751f31d275489389e9988f1aac2}\label{group___scene_gaeb967751f31d275489389e9988f1aac2}} 
\index{Scene@{Scene}!\+\_\+notify\+Current\+Camera@{\+\_\+notify\+Current\+Camera}}
\index{\+\_\+notify\+Current\+Camera@{\+\_\+notify\+Current\+Camera}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Current\+Camera()}{\_notifyCurrentCamera()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::\+\_\+notify\+Current\+Camera (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_camera}{Camera} $\ast$}]{cam }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method to notify the object of the camera to be used for the next rendering operation. 

\begin{DoxyRemark}{Remarks}
Certain objects may want to do specific processing based on the camera position. This method notifies them in case they wish to do this. 
\end{DoxyRemark}


Reimplemented from \hyperlink{class_ogre_1_1_movable_object_aa805908a2945ba1e1b1d6badb4761e27}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga2f3b53c770793546d08f40afedb167f5}\label{group___scene_ga2f3b53c770793546d08f40afedb167f5}} 
\index{Scene@{Scene}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}\& Ogre\+::\+Instance\+Batch\+::get\+Bounding\+Box (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the local axis-\/aligned bounding box for this object. 

\begin{DoxyRemark}{Remarks}
This bounding box is in local coordinates. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_movable_object_a4bb24d3bee90b0c9e15fd65702030fa4}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga76e03f1dfd14df9dcb57cbb7eb089777}\label{group___scene_ga76e03f1dfd14df9dcb57cbb7eb089777}} 
\index{Scene@{Scene}!get\+Bounding\+Radius@{get\+Bounding\+Radius}}
\index{get\+Bounding\+Radius@{get\+Bounding\+Radius}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Bounding\+Radius()}{getBoundingRadius()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Instance\+Batch\+::get\+Bounding\+Radius (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the radius of the origin-\/centered bounding sphere for this object. 



Implements \hyperlink{class_ogre_1_1_movable_object_aed6d3f3856d030a967eb17d78a598807}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}\label{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}} 
\index{Scene@{Scene}!\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}}
\index{\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Render\+Queue()}{\_updateRenderQueue()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+::\+\_\+update\+Render\+Queue (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$}]{queue }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method by which the movable object must add \hyperlink{class_ogre_1_1_renderable}{Renderable} subclass instances to the rendering queue. 

\begin{DoxyRemark}{Remarks}
The engine will call this method when this object is to be rendered. The object must then create one or more \hyperlink{class_ogre_1_1_renderable}{Renderable} subclass instances which it places on the passed in Queue for rendering. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_movable_object_ac77b03ec95bbe3de7d9b9d7993dc785e}{Ogre\+::\+Movable\+Object}.



Reimplemented in \hyperlink{group___scene_gaf47f31873478f5929289a474a976fb7c}{Ogre\+::\+Base\+Instance\+Batch\+V\+TF}, \hyperlink{group___scene_ga36300602449a9b710be75184f60090ba}{Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}, and \hyperlink{group___scene_gaf4840500767d764d159ee6362c9b51a0}{Ogre\+::\+Instance\+Batch\+HW}.

\mbox{\Hypertarget{group___scene_ga90f980cad52ceec8bd2fc56ae515e016}\label{group___scene_ga90f980cad52ceec8bd2fc56ae515e016}} 
\index{Scene@{Scene}!visit\+Renderables@{visit\+Renderables}}
\index{visit\+Renderables@{visit\+Renderables}!Scene@{Scene}}
\subsubsection{\texorpdfstring{visit\+Renderables()}{visitRenderables()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+::visit\+Renderables (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} $\ast$}]{visitor,  }\item[{bool}]{debug\+Renderables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Method to allow a caller to abstractly iterate over the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances that this \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} will add to the render queue when asked, if any. 


\begin{DoxyParams}{Parameters}
{\em visitor} & Pointer to a class implementing the \hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} interface which will be called back for each \hyperlink{class_ogre_1_1_renderable}{Renderable} which will be queued. Bear in mind that the state of the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances may not be finalised depending on when you call this. \\
\hline
{\em debug\+Renderables} & If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_ogre_1_1_movable_object_a572b6aaa7a8b412163184a6c68ca3fa0}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gaadfe92140a94b8a7584b2ae102cd45f7}\label{group___scene_gaadfe92140a94b8a7584b2ae102cd45f7}} 
\index{Scene@{Scene}!Instance\+Batch\+HW@{Instance\+Batch\+HW}}
\index{Instance\+Batch\+HW@{Instance\+Batch\+HW}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+H\+W()}{InstanceBatchHW()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Batch\+H\+W\+::\+Instance\+Batch\+HW (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_gab05c51798311eac9e3da3fb3d4946408}\label{group___scene_gab05c51798311eac9e3da3fb3d4946408}} 
\index{Scene@{Scene}!````~Instance\+Batch\+HW@{$\sim$\+Instance\+Batch\+HW}}
\index{````~Instance\+Batch\+HW@{$\sim$\+Instance\+Batch\+HW}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instance\+Batch\+H\+W()}{~InstanceBatchHW()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Instance\+Batch\+H\+W\+::$\sim$\+Instance\+Batch\+HW (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_ga199ccdf597eb82ccf4d2a197c2824637}\label{group___scene_ga199ccdf597eb82ccf4d2a197c2824637}} 
\index{Scene@{Scene}!calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}}
\index{calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{calculate\+Max\+Num\+Instances()}{calculateMaxNumInstances()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Instance\+Batch\+H\+W\+::calculate\+Max\+Num\+Instances (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Instance\+Batch\+::calculate\+Max\+Num\+Instances} 
\end{DoxySeeAlso}


Implements \hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga3f73c0ba5217fcafbe1c5246c31bc7be}\label{group___scene_ga3f73c0ba5217fcafbe1c5246c31bc7be}} 
\index{Scene@{Scene}!build\+From@{build\+From}}
\index{build\+From@{build\+From}!Scene@{Scene}}
\subsubsection{\texorpdfstring{build\+From()}{buildFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+::build\+From (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{render\+Operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Instance\+Batch\+::build\+From} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gafa38ad39cc49abd167a8bb1075dc2c2d}\label{group___scene_gafa38ad39cc49abd167a8bb1075dc2c2d}} 
\index{Scene@{Scene}!\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}}
\index{\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+bounds\+Dirty()}{\_boundsDirty()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+::\+\_\+bounds\+Dirty (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overloaded so that we don\textquotesingle{}t perform needless updates when in static mode. 

Also doing that could cause glitches with shadow mapping (since \hyperlink{namespace_ogre}{Ogre} thinks we\textquotesingle{}re small/bigger than we really are when displaying, or that we\textquotesingle{}re somewhere else) 

Reimplemented from \hyperlink{group___scene_ga9e6dfe915b52c9463a503d690ae7da4f}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gaca94c5dd0221ddf54f9881f859eef523}\label{group___scene_gaca94c5dd0221ddf54f9881f859eef523}} 
\index{Scene@{Scene}!set\+Static\+And\+Update@{set\+Static\+And\+Update}}
\index{set\+Static\+And\+Update@{set\+Static\+And\+Update}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Static\+And\+Update()}{setStaticAndUpdate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+::set\+Static\+And\+Update (\begin{DoxyParamCaption}\item[{bool}]{b\+Static }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{Instance\+Batch\+::set\+Static\+And\+Update}. While this flag is true, no individual per-\/entity cull check is made. This means if the camera is looking at only one instance, all instances are sent to the vertex shader (unlike when this flag is false). This saves a lot of C\+PU power and a bit of bus bandwidth. 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga7438d8f28274b7c45ac91a0fa73f3773}\label{group___scene_ga7438d8f28274b7c45ac91a0fa73f3773}} 
\index{Scene@{Scene}!is\+Static@{is\+Static}}
\index{is\+Static@{is\+Static}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+Static()}{isStatic()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Batch\+H\+W\+::is\+Static (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns true if this batch was set as static. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaca94c5dd0221ddf54f9881f859eef523}{set\+Static\+And\+Update} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_gafbad76bb979934adc96dfd791ae00100}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga847694cbc167072792784c10613a4379}\label{group___scene_ga847694cbc167072792784c10613a4379}} 
\index{Scene@{Scene}!get\+World\+Transforms@{get\+World\+Transforms}}
\index{get\+World\+Transforms@{get\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+World\+Transforms()}{getWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+::get\+World\+Transforms (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$}]{xform }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Gets the world transform matrix / matrices for this renderable object. 

\begin{DoxyRemark}{Remarks}
If the object has any derived transforms, these are expected to be up to date as long as all the \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} structures have been updated before this is called. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This method will populate transform with 1 matrix if it does not use vertex blending. If it does use vertex blending it will fill the passed in pointer with an array of matrices, the length being the value returned from get\+Num\+World\+Transforms. 
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
Internal \hyperlink{namespace_ogre}{Ogre} never supports non-\/affine matrix for world transform matrix/matrices, the behavior is undefined if returns non-\/affine matrix here. 
\end{DoxyNote}


Implements \hyperlink{class_ogre_1_1_renderable_a897d64f73a5e6ccc45d52a88e86392e1}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga63d739ff9b72315e8466bc8197cf1223}\label{group___scene_ga63d739ff9b72315e8466bc8197cf1223}} 
\index{Scene@{Scene}!get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}}
\index{get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Num\+World\+Transforms()}{getNumWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily unsigned short Ogre\+::\+Instance\+Batch\+H\+W\+::get\+Num\+World\+Transforms (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the number of world transform matrices this renderable requires. 

\begin{DoxyRemark}{Remarks}
When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity. 
\end{DoxyRemark}


Reimplemented from \hyperlink{class_ogre_1_1_renderable_a47508d27a6c799998047c50ec43e9897}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_gaf4840500767d764d159ee6362c9b51a0}\label{group___scene_gaf4840500767d764d159ee6362c9b51a0}} 
\index{Scene@{Scene}!\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}}
\index{\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Render\+Queue()}{\_updateRenderQueue()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+H\+W\+::\+\_\+update\+Render\+Queue (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$}]{queue }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overloaded to avoid updating skeletons (which we don\textquotesingle{}t support), check visibility on a per unit basis and finally updated the vertex buffer. 



Reimplemented from \hyperlink{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gae1b95987851d4ee0a3458bcb268d8902}\label{group___scene_gae1b95987851d4ee0a3458bcb268d8902}} 
\index{Scene@{Scene}!Instance\+Batch\+H\+W\+\_\+\+V\+TF@{Instance\+Batch\+H\+W\+\_\+\+V\+TF}}
\index{Instance\+Batch\+H\+W\+\_\+\+V\+TF@{Instance\+Batch\+H\+W\+\_\+\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+H\+W\+\_\+\+V\+T\+F()}{InstanceBatchHW\_VTF()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+TF (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_gacdc3cc87b51c30662266bedbdc2c44b4}\label{group___scene_gacdc3cc87b51c30662266bedbdc2c44b4}} 
\index{Scene@{Scene}!````~Instance\+Batch\+H\+W\+\_\+\+V\+TF@{$\sim$\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}}
\index{````~Instance\+Batch\+H\+W\+\_\+\+V\+TF@{$\sim$\+Instance\+Batch\+H\+W\+\_\+\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F()}{~InstanceBatchHW\_VTF()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::$\sim$\+Instance\+Batch\+H\+W\+\_\+\+V\+TF (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_ga0b8958bd878c7028e19b789188c631ca}\label{group___scene_ga0b8958bd878c7028e19b789188c631ca}} 
\index{Scene@{Scene}!calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}}
\index{calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{calculate\+Max\+Num\+Instances()}{calculateMaxNumInstances()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::calculate\+Max\+Num\+Instances (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Instance\+Batch\+::calculate\+Max\+Num\+Instances} 
\end{DoxySeeAlso}


Implements \hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gabbea0657572df2d28a184666d1fd128f}\label{group___scene_gabbea0657572df2d28a184666d1fd128f}} 
\index{Scene@{Scene}!\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}}
\index{\+\_\+bounds\+Dirty@{\+\_\+bounds\+Dirty}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+bounds\+Dirty()}{\_boundsDirty()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+\_\+bounds\+Dirty (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overloaded so that we don\textquotesingle{}t perform needless updates when in static mode. 

Also doing that could cause glitches with shadow mapping (since \hyperlink{namespace_ogre}{Ogre} thinks we\textquotesingle{}re small/bigger than we really are when displaying, or that we\textquotesingle{}re somewhere else) 

Reimplemented from \hyperlink{group___scene_ga9e6dfe915b52c9463a503d690ae7da4f}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga7fe07d3823f85fad2479cd41fab69777}\label{group___scene_ga7fe07d3823f85fad2479cd41fab69777}} 
\index{Scene@{Scene}!set\+Static\+And\+Update@{set\+Static\+And\+Update}}
\index{set\+Static\+And\+Update@{set\+Static\+And\+Update}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Static\+And\+Update()}{setStaticAndUpdate()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::set\+Static\+And\+Update (\begin{DoxyParamCaption}\item[{bool}]{b\+Static }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}





\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{Instance\+Batch\+::set\+Static\+And\+Update}. While this flag is true, no individual per-\/entity cull check is made. This means if the camera is looking at only one instance, all instances are sent to the vertex shader (unlike when this flag is false). This saves a lot of C\+PU power and a bit of bus bandwidth. 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_gaae254079f412672ce137dddb9736028a}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga7c7505161801cb95b4a1051affdf2af7}\label{group___scene_ga7c7505161801cb95b4a1051affdf2af7}} 
\index{Scene@{Scene}!is\+Static@{is\+Static}}
\index{is\+Static@{is\+Static}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+Static()}{isStatic()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::is\+Static (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns true if this batch was set as static. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga7fe07d3823f85fad2479cd41fab69777}{set\+Static\+And\+Update} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_gafbad76bb979934adc96dfd791ae00100}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga36300602449a9b710be75184f60090ba}\label{group___scene_ga36300602449a9b710be75184f60090ba}} 
\index{Scene@{Scene}!\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}}
\index{\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Render\+Queue()}{\_updateRenderQueue()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Instance\+Batch\+H\+W\+\_\+\+V\+T\+F\+::\+\_\+update\+Render\+Queue (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$}]{queue }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overloaded to visibility on a per unit basis and finally updated the vertex texture. 



Reimplemented from \hyperlink{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga4b725f8ccb8541f0af724af260a9864e}\label{group___scene_ga4b725f8ccb8541f0af724af260a9864e}} 
\index{Scene@{Scene}!Instance\+Batch\+Shader@{Instance\+Batch\+Shader}}
\index{Instance\+Batch\+Shader@{Instance\+Batch\+Shader}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+Shader()}{InstanceBatchShader()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Batch\+Shader\+::\+Instance\+Batch\+Shader (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_ga601f9ff1af35db597efb62a4c582be22}\label{group___scene_ga601f9ff1af35db597efb62a4c582be22}} 
\index{Scene@{Scene}!calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}}
\index{calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{calculate\+Max\+Num\+Instances()}{calculateMaxNumInstances()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Instance\+Batch\+Shader\+::calculate\+Max\+Num\+Instances (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Instance\+Batch\+::calculate\+Max\+Num\+Instances} 
\end{DoxySeeAlso}


Implements \hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gab693390768c3d31ec33a288fc8666b2a}\label{group___scene_gab693390768c3d31ec33a288fc8666b2a}} 
\index{Scene@{Scene}!build\+From@{build\+From}}
\index{build\+From@{build\+From}!Scene@{Scene}}
\subsubsection{\texorpdfstring{build\+From()}{buildFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+Shader\+::build\+From (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{render\+Operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Instance\+Batch\+::build\+From} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gadc4b75711e16b37a1bf7f4a7caa82c4c}\label{group___scene_gadc4b75711e16b37a1bf7f4a7caa82c4c}} 
\index{Scene@{Scene}!get\+World\+Transforms@{get\+World\+Transforms}}
\index{get\+World\+Transforms@{get\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+World\+Transforms()}{getWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Batch\+Shader\+::get\+World\+Transforms (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$}]{xform }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Gets the world transform matrix / matrices for this renderable object. 

\begin{DoxyRemark}{Remarks}
If the object has any derived transforms, these are expected to be up to date as long as all the \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} structures have been updated before this is called. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This method will populate transform with 1 matrix if it does not use vertex blending. If it does use vertex blending it will fill the passed in pointer with an array of matrices, the length being the value returned from get\+Num\+World\+Transforms. 
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
Internal \hyperlink{namespace_ogre}{Ogre} never supports non-\/affine matrix for world transform matrix/matrices, the behavior is undefined if returns non-\/affine matrix here. 
\end{DoxyNote}


Implements \hyperlink{class_ogre_1_1_renderable_a897d64f73a5e6ccc45d52a88e86392e1}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga86c7f5afb1cde4b73937c687d02970b6}\label{group___scene_ga86c7f5afb1cde4b73937c687d02970b6}} 
\index{Scene@{Scene}!get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}}
\index{get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Num\+World\+Transforms()}{getNumWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily unsigned short Ogre\+::\+Instance\+Batch\+Shader\+::get\+Num\+World\+Transforms (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the number of world transform matrices this renderable requires. 

\begin{DoxyRemark}{Remarks}
When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity. 
\end{DoxyRemark}


Reimplemented from \hyperlink{class_ogre_1_1_renderable_a47508d27a6c799998047c50ec43e9897}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga8b00a6ffb132571ac5e3c81c8bff2077}\label{group___scene_ga8b00a6ffb132571ac5e3c81c8bff2077}} 
\index{Scene@{Scene}!Base\+Instance\+Batch\+V\+TF@{Base\+Instance\+Batch\+V\+TF}}
\index{Base\+Instance\+Batch\+V\+TF@{Base\+Instance\+Batch\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Base\+Instance\+Batch\+V\+T\+F()}{BaseInstanceBatchVTF()}}
{\footnotesize\ttfamily Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::\+Base\+Instance\+Batch\+V\+TF (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_ga336e04ecb0e366039963adc9bffe4f73}\label{group___scene_ga336e04ecb0e366039963adc9bffe4f73}} 
\index{Scene@{Scene}!````~Base\+Instance\+Batch\+V\+TF@{$\sim$\+Base\+Instance\+Batch\+V\+TF}}
\index{````~Base\+Instance\+Batch\+V\+TF@{$\sim$\+Base\+Instance\+Batch\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Base\+Instance\+Batch\+V\+T\+F()}{~BaseInstanceBatchVTF()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::$\sim$\+Base\+Instance\+Batch\+V\+TF (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_gac97af4ce33324a1c9f9b812e5e7ae1c9}\label{group___scene_gac97af4ce33324a1c9f9b812e5e7ae1c9}} 
\index{Scene@{Scene}!build\+From@{build\+From}}
\index{build\+From@{build\+From}!Scene@{Scene}}
\subsubsection{\texorpdfstring{build\+From()}{buildFrom()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::build\+From (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{const \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{render\+Operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Instance\+Batch\+::build\+From} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_ga69b7541d04c83ab51d326120c4d97bb8}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_gab3834d2766e67d617c779ac4d3910fc2}\label{group___scene_gab3834d2766e67d617c779ac4d3910fc2}} 
\index{Scene@{Scene}!get\+World\+Transforms@{get\+World\+Transforms}}
\index{get\+World\+Transforms@{get\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+World\+Transforms()}{getWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+World\+Transforms (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_matrix4}{Matrix4} $\ast$}]{xform }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Gets the world transform matrix / matrices for this renderable object. 

\begin{DoxyRemark}{Remarks}
If the object has any derived transforms, these are expected to be up to date as long as all the \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} structures have been updated before this is called. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This method will populate transform with 1 matrix if it does not use vertex blending. If it does use vertex blending it will fill the passed in pointer with an array of matrices, the length being the value returned from get\+Num\+World\+Transforms. 
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
Internal \hyperlink{namespace_ogre}{Ogre} never supports non-\/affine matrix for world transform matrix/matrices, the behavior is undefined if returns non-\/affine matrix here. 
\end{DoxyNote}


Implements \hyperlink{class_ogre_1_1_renderable_a897d64f73a5e6ccc45d52a88e86392e1}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_ga14b022135fb927a586edef028403a39d}\label{group___scene_ga14b022135fb927a586edef028403a39d}} 
\index{Scene@{Scene}!get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}}
\index{get\+Num\+World\+Transforms@{get\+Num\+World\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Num\+World\+Transforms()}{getNumWorldTransforms()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily unsigned short Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+Num\+World\+Transforms (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the number of world transform matrices this renderable requires. 

\begin{DoxyRemark}{Remarks}
When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity. 
\end{DoxyRemark}


Reimplemented from \hyperlink{class_ogre_1_1_renderable_a47508d27a6c799998047c50ec43e9897}{Ogre\+::\+Renderable}.

\mbox{\Hypertarget{group___scene_gaf47f31873478f5929289a474a976fb7c}\label{group___scene_gaf47f31873478f5929289a474a976fb7c}} 
\index{Scene@{Scene}!\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}}
\index{\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Render\+Queue()}{\_updateRenderQueue()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::\+\_\+update\+Render\+Queue (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$}]{queue }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overloaded to be able to updated the vertex texture. 



Reimplemented from \hyperlink{group___scene_gaa0c5a7159b514f6b96e690e3e130058a}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga5bcd3f7c4a1280df27cdec94c5f18cb1}\label{group___scene_ga5bcd3f7c4a1280df27cdec94c5f18cb1}} 
\index{Scene@{Scene}!set\+Bone\+Matrix\+Lookup@{set\+Bone\+Matrix\+Lookup}}
\index{set\+Bone\+Matrix\+Lookup@{set\+Bone\+Matrix\+Lookup}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Bone\+Matrix\+Lookup()}{setBoneMatrixLookup()}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Bone\+Matrix\+Lookup (\begin{DoxyParamCaption}\item[{bool}]{enable,  }\item[{size\+\_\+t}]{max\+Lookup\+Table\+Instances }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the state of the usage of bone matrix lookup. 

Under default condition each instance entity is assigned a specific area in the vertex texture for bone matrix data. When turned on the amount of area in the vertex texture assigned for bone matrix data will be relative to the amount of unique animation states. Instanced entities sharing the same animation state will share the same area in the matrix. The specific position of each entity is placed in the vertex data and added in a second phase in the shader.

Note this feature only works in V\+T\+F\+\_\+\+HW for now. This value needs to be set before adding any instanced entities \mbox{\Hypertarget{group___scene_ga57dfa1e8c4c45896da46f19cca27ced5}\label{group___scene_ga57dfa1e8c4c45896da46f19cca27ced5}} 
\index{Scene@{Scene}!use\+Bone\+Matrix\+Lookup@{use\+Bone\+Matrix\+Lookup}}
\index{use\+Bone\+Matrix\+Lookup@{use\+Bone\+Matrix\+Lookup}!Scene@{Scene}}
\subsubsection{\texorpdfstring{use\+Bone\+Matrix\+Lookup()}{useBoneMatrixLookup()}}
{\footnotesize\ttfamily bool Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+Matrix\+Lookup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Tells whether to use bone matrix lookup. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga5bcd3f7c4a1280df27cdec94c5f18cb1}{set\+Bone\+Matrix\+Lookup()} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga61b8f8dd2a76aefe958083ad37d364fd}\label{group___scene_ga61b8f8dd2a76aefe958083ad37d364fd}} 
\index{Scene@{Scene}!set\+Bone\+Dual\+Quaternions@{set\+Bone\+Dual\+Quaternions}}
\index{set\+Bone\+Dual\+Quaternions@{set\+Bone\+Dual\+Quaternions}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Bone\+Dual\+Quaternions()}{setBoneDualQuaternions()}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Bone\+Dual\+Quaternions (\begin{DoxyParamCaption}\item[{bool}]{enable }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga0df9f6141a61f6d7353350d38696a23e}\label{group___scene_ga0df9f6141a61f6d7353350d38696a23e}} 
\index{Scene@{Scene}!use\+Bone\+Dual\+Quaternions@{use\+Bone\+Dual\+Quaternions}}
\index{use\+Bone\+Dual\+Quaternions@{use\+Bone\+Dual\+Quaternions}!Scene@{Scene}}
\subsubsection{\texorpdfstring{use\+Bone\+Dual\+Quaternions()}{useBoneDualQuaternions()}}
{\footnotesize\ttfamily bool Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+Dual\+Quaternions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_gae413c69ac3cf2e61ffd5eaf3c3842dd2}\label{group___scene_gae413c69ac3cf2e61ffd5eaf3c3842dd2}} 
\index{Scene@{Scene}!set\+Force\+One\+Weight@{set\+Force\+One\+Weight}}
\index{set\+Force\+One\+Weight@{set\+Force\+One\+Weight}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Force\+One\+Weight()}{setForceOneWeight()}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Force\+One\+Weight (\begin{DoxyParamCaption}\item[{bool}]{enable }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga8de1d6bc736ed16039fc4feed1054ad1}\label{group___scene_ga8de1d6bc736ed16039fc4feed1054ad1}} 
\index{Scene@{Scene}!force\+One\+Weight@{force\+One\+Weight}}
\index{force\+One\+Weight@{force\+One\+Weight}!Scene@{Scene}}
\subsubsection{\texorpdfstring{force\+One\+Weight()}{forceOneWeight()}}
{\footnotesize\ttfamily bool Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::force\+One\+Weight (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_gaf23de70598e81b12eb2760a5d9bc4c22}\label{group___scene_gaf23de70598e81b12eb2760a5d9bc4c22}} 
\index{Scene@{Scene}!set\+Use\+One\+Weight@{set\+Use\+One\+Weight}}
\index{set\+Use\+One\+Weight@{set\+Use\+One\+Weight}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Use\+One\+Weight()}{setUseOneWeight()}}
{\footnotesize\ttfamily void Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::set\+Use\+One\+Weight (\begin{DoxyParamCaption}\item[{bool}]{enable }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga2eb1a9ee689ebae91819e9ed81c12b54}\label{group___scene_ga2eb1a9ee689ebae91819e9ed81c12b54}} 
\index{Scene@{Scene}!use\+One\+Weight@{use\+One\+Weight}}
\index{use\+One\+Weight@{use\+One\+Weight}!Scene@{Scene}}
\subsubsection{\texorpdfstring{use\+One\+Weight()}{useOneWeight()}}
{\footnotesize\ttfamily bool Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+One\+Weight (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga3de0cec85d8506862c964e5980553496}\label{group___scene_ga3de0cec85d8506862c964e5980553496}} 
\index{Scene@{Scene}!use\+Bone\+World\+Matrices@{use\+Bone\+World\+Matrices}}
\index{use\+Bone\+World\+Matrices@{use\+Bone\+World\+Matrices}!Scene@{Scene}}
\subsubsection{\texorpdfstring{use\+Bone\+World\+Matrices()}{useBoneWorldMatrices()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::use\+Bone\+World\+Matrices (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gae9443eee762d758695d1de5eda06957c}{Instance\+Batch\+::use\+Bone\+World\+Matrices()} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{group___scene_gae9443eee762d758695d1de5eda06957c}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga4524a2e65d6f52411d8b5f31ef056771}\label{group___scene_ga4524a2e65d6f52411d8b5f31ef056771}} 
\index{Scene@{Scene}!get\+Max\+Lookup\+Table\+Instances@{get\+Max\+Lookup\+Table\+Instances}}
\index{get\+Max\+Lookup\+Table\+Instances@{get\+Max\+Lookup\+Table\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Max\+Lookup\+Table\+Instances()}{getMaxLookupTableInstances()}}
{\footnotesize\ttfamily virtual size\+\_\+t Ogre\+::\+Base\+Instance\+Batch\+V\+T\+F\+::get\+Max\+Lookup\+Table\+Instances (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
the maximum amount of shared transform entities when using lookup table 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_ga991bc0b495ffded1e0b0982ac478335a}\label{group___scene_ga991bc0b495ffded1e0b0982ac478335a}} 
\index{Scene@{Scene}!Instance\+Batch\+V\+TF@{Instance\+Batch\+V\+TF}}
\index{Instance\+Batch\+V\+TF@{Instance\+Batch\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+V\+T\+F()}{InstanceBatchVTF()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Batch\+V\+T\+F\+::\+Instance\+Batch\+V\+TF (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} $\ast$}]{creator,  }\item[{\hyperlink{namespace_ogre_a5c4c0c56ea9f824c49e331f6fad33ddb}{Mesh\+Ptr} \&}]{mesh\+Reference,  }\item[{const \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \&}]{material,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{const \hyperlink{class_ogre_1_1_mesh_a9394fdee4f4f3cc760d44fa165b088c2}{Mesh\+::\+Index\+Map} $\ast$}]{index\+To\+Bone\+Map,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{batch\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_ga2a9877537a5b9b05fd8a104231463070}\label{group___scene_ga2a9877537a5b9b05fd8a104231463070}} 
\index{Scene@{Scene}!````~Instance\+Batch\+V\+TF@{$\sim$\+Instance\+Batch\+V\+TF}}
\index{````~Instance\+Batch\+V\+TF@{$\sim$\+Instance\+Batch\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instance\+Batch\+V\+T\+F()}{~InstanceBatchVTF()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Instance\+Batch\+V\+T\+F\+::$\sim$\+Instance\+Batch\+V\+TF (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_ga01ff033a0dddc01ea7037d4c96d0bed2}\label{group___scene_ga01ff033a0dddc01ea7037d4c96d0bed2}} 
\index{Scene@{Scene}!calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}}
\index{calculate\+Max\+Num\+Instances@{calculate\+Max\+Num\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{calculate\+Max\+Num\+Instances()}{calculateMaxNumInstances()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Instance\+Batch\+V\+T\+F\+::calculate\+Max\+Num\+Instances (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh} $\ast$}]{base\+Sub\+Mesh,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Instance\+Batch\+::calculate\+Max\+Num\+Instances} 
\end{DoxySeeAlso}


Implements \hyperlink{group___scene_ga4004a72311611ab1955c5c09a2d20452}{Ogre\+::\+Instance\+Batch}.

\mbox{\Hypertarget{group___scene_ga45fbc498bcd98c53d7026ca8fb244e85}\label{group___scene_ga45fbc498bcd98c53d7026ca8fb244e85}} 
\index{Scene@{Scene}!Instanced\+Entity@{Instanced\+Entity}}
\index{Instanced\+Entity@{Instanced\+Entity}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instanced\+Entity()}{InstancedEntity()}}
{\footnotesize\ttfamily Ogre\+::\+Instanced\+Entity\+::\+Instanced\+Entity (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} $\ast$}]{batch\+Owner,  }\item[{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}}]{instance\+ID,  }\item[{\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$}]{shared\+Transform\+Entity = {\ttfamily NULL} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_ga5d5f5e203dbeb294450400d10e91c041}\label{group___scene_ga5d5f5e203dbeb294450400d10e91c041}} 
\index{Scene@{Scene}!````~Instanced\+Entity@{$\sim$\+Instanced\+Entity}}
\index{````~Instanced\+Entity@{$\sim$\+Instanced\+Entity}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instanced\+Entity()}{~InstancedEntity()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Instanced\+Entity\+::$\sim$\+Instanced\+Entity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\mbox{\Hypertarget{group___scene_gae34549164f2eeef459298f900c205e71}\label{group___scene_gae34549164f2eeef459298f900c205e71}} 
\index{Scene@{Scene}!share\+Transform\+With@{share\+Transform\+With}}
\index{share\+Transform\+With@{share\+Transform\+With}!Scene@{Scene}}
\subsubsection{\texorpdfstring{share\+Transform\+With()}{shareTransformWith()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instanced\+Entity\+::share\+Transform\+With (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} $\ast$}]{slave }\end{DoxyParamCaption})}



Shares the entire transformation with another \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}. 

This is useful when a mesh has more than one submeshes, therefore creating multiple Instance\+Managers (one for each submesh). With this function, sharing makes the skeleton to be shared (less memory) and updated once (performance optimization). Note that one \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} (i.\+e. submesh 0) must be chosen as \char`\"{}master\char`\"{} which will share with the other instanced entities (i.\+e. submeshes 1-\/N) which are called \char`\"{}slaves\char`\"{} \begin{DoxyParagraph}{}
Requirements to share trasnformations\+: Both Instanced\+Entities must have use the same skeleton An \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} can\textquotesingle{}t be both \char`\"{}master\char`\"{} and \char`\"{}slave\char`\"{} at the same time 
\end{DoxyParagraph}
\begin{DoxyRemark}{Remarks}
Sharing does nothing if the original mesh doesn\textquotesingle{}t have a skeleton When an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} is removed (
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga6603588204263c7d16173169a5e327e7}{Instance\+Batch\+::remove\+Instanced\+Entity}), it stops sharing the transform. If the instanced entity was the master one, all it\textquotesingle{}s slaves stop sharing and start having their own transform too. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em slave} & The \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} that should share with us and become our slave \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if successfully shared (may fail if they aren\textquotesingle{}t skeletally animated) 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_ga87fae86b0a2a1ea644641ad3dbdbd16f}\label{group___scene_ga87fae86b0a2a1ea644641ad3dbdbd16f}} 
\index{Scene@{Scene}!stop\+Sharing\+Transform@{stop\+Sharing\+Transform}}
\index{stop\+Sharing\+Transform@{stop\+Sharing\+Transform}!Scene@{Scene}}
\subsubsection{\texorpdfstring{stop\+Sharing\+Transform()}{stopSharingTransform()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::stop\+Sharing\+Transform (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gae34549164f2eeef459298f900c205e71}{share\+Transform\+With} Stops sharing the transform if this is a slave, and notifies the master we\textquotesingle{}re no longer a slave. If this is a master, tells all it\textquotesingle{}s slave to stop sharing 
\end{DoxySeeAlso}
\begin{DoxyRemark}{Remarks}
This function is automatically called in \hyperlink{group___scene_ga6603588204263c7d16173169a5e327e7}{Instance\+Batch\+::remove\+Instanced\+Entity} 
\end{DoxyRemark}
\mbox{\Hypertarget{group___scene_ga766440b866678200f30869bc44683888}\label{group___scene_ga766440b866678200f30869bc44683888}} 
\index{Scene@{Scene}!\+\_\+get\+Owner@{\+\_\+get\+Owner}}
\index{\+\_\+get\+Owner@{\+\_\+get\+Owner}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Owner()}{\_getOwner()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch}$\ast$ Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Owner (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga27334e4426d3c415824d0e817dee83f3}\label{group___scene_ga27334e4426d3c415824d0e817dee83f3}} 
\index{Scene@{Scene}!get\+Movable\+Type@{get\+Movable\+Type}}
\index{get\+Movable\+Type@{get\+Movable\+Type}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Movable\+Type()}{getMovableType()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Instanced\+Entity\+::get\+Movable\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the type name of this object. 



Implements \hyperlink{class_ogre_1_1_movable_object_a7391beac8beb20e3e3d650173d33a3ff}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gab244043eda526a4b17991c1c55e6db65}\label{group___scene_gab244043eda526a4b17991c1c55e6db65}} 
\index{Scene@{Scene}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}\& Ogre\+::\+Instanced\+Entity\+::get\+Bounding\+Box (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the local axis-\/aligned bounding box for this object. 

\begin{DoxyRemark}{Remarks}
This bounding box is in local coordinates. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_movable_object_a4bb24d3bee90b0c9e15fd65702030fa4}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga27cf4b750c8284a8f4464aa87e041465}\label{group___scene_ga27cf4b750c8284a8f4464aa87e041465}} 
\index{Scene@{Scene}!get\+Bounding\+Radius@{get\+Bounding\+Radius}}
\index{get\+Bounding\+Radius@{get\+Bounding\+Radius}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Bounding\+Radius()}{getBoundingRadius()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Instanced\+Entity\+::get\+Bounding\+Radius (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the radius of the origin-\/centered bounding sphere for this object. 



Implements \hyperlink{class_ogre_1_1_movable_object_aed6d3f3856d030a967eb17d78a598807}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga45941f4903e38cb0be85c58122cefede}\label{group___scene_ga45941f4903e38cb0be85c58122cefede}} 
\index{Scene@{Scene}!get\+Squared\+View\+Depth@{get\+Squared\+View\+Depth}}
\index{get\+Squared\+View\+Depth@{get\+Squared\+View\+Depth}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Squared\+View\+Depth()}{getSquaredViewDepth()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Instanced\+Entity\+::get\+Squared\+View\+Depth (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_camera}{Camera} $\ast$}]{cam }\end{DoxyParamCaption}) const}



This is used by our batch owner to get the closest entity\textquotesingle{}s depth, returns infinity when not attached to a scene node. 

\mbox{\Hypertarget{group___scene_gac18e33cc9b2824de974cd4259874ac62}\label{group___scene_gac18e33cc9b2824de974cd4259874ac62}} 
\index{Scene@{Scene}!\+\_\+notify\+Moved@{\+\_\+notify\+Moved}}
\index{\+\_\+notify\+Moved@{\+\_\+notify\+Moved}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Moved()}{\_notifyMoved()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::\+\_\+notify\+Moved (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Overridden so we can tell the \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} it needs to update it\textquotesingle{}s bounds. 



Reimplemented from \hyperlink{class_ogre_1_1_movable_object_ae307c64b6e130191e45d48df0e2c5961}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga0faadbd22a01ef1b959e0c63598bc79a}\label{group___scene_ga0faadbd22a01ef1b959e0c63598bc79a}} 
\index{Scene@{Scene}!\+\_\+notify\+Attached@{\+\_\+notify\+Attached}}
\index{\+\_\+notify\+Attached@{\+\_\+notify\+Attached}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Attached()}{\_notifyAttached()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::\+\_\+notify\+Attached (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_node}{Node} $\ast$}]{parent,  }\item[{bool}]{is\+Tag\+Point = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method called to notify the object that it has been attached to a node. 



Reimplemented from \hyperlink{class_ogre_1_1_movable_object_aeb13418fe2740ed8ebc52cd9667fca41}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga0a0d1a414ff9876e426aad8421b4baba}\label{group___scene_ga0a0d1a414ff9876e426aad8421b4baba}} 
\index{Scene@{Scene}!\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}}
\index{\+\_\+update\+Render\+Queue@{\+\_\+update\+Render\+Queue}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Render\+Queue()}{\_updateRenderQueue()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::\+\_\+update\+Render\+Queue (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_queue}{Render\+Queue} $\ast$}]{queue }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Do nothing, \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} takes care of this. 



Implements \hyperlink{class_ogre_1_1_movable_object_ac77b03ec95bbe3de7d9b9d7993dc785e}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gab912c25160b445527baf448d3259f8c6}\label{group___scene_gab912c25160b445527baf448d3259f8c6}} 
\index{Scene@{Scene}!visit\+Renderables@{visit\+Renderables}}
\index{visit\+Renderables@{visit\+Renderables}!Scene@{Scene}}
\subsubsection{\texorpdfstring{visit\+Renderables()}{visitRenderables()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::visit\+Renderables (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} $\ast$}]{visitor,  }\item[{bool}]{debug\+Renderables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Method to allow a caller to abstractly iterate over the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances that this \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} will add to the render queue when asked, if any. 


\begin{DoxyParams}{Parameters}
{\em visitor} & Pointer to a class implementing the \hyperlink{class_ogre_1_1_renderable_1_1_visitor}{Renderable\+::\+Visitor} interface which will be called back for each \hyperlink{class_ogre_1_1_renderable}{Renderable} which will be queued. Bear in mind that the state of the \hyperlink{class_ogre_1_1_renderable}{Renderable} instances may not be finalised depending on when you call this. \\
\hline
{\em debug\+Renderables} & If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_ogre_1_1_movable_object_a572b6aaa7a8b412163184a6c68ca3fa0}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_gae65b2264024ab0ebfe21a610723634c7}\label{group___scene_gae65b2264024ab0ebfe21a610723634c7}} 
\index{Scene@{Scene}!has\+Skeleton@{has\+Skeleton}}
\index{has\+Skeleton@{has\+Skeleton}!Scene@{Scene}}
\subsubsection{\texorpdfstring{has\+Skeleton()}{hasSkeleton()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instanced\+Entity\+::has\+Skeleton (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_entity_a093a87488c0796c5d8f543d7020b09b7}{Entity\+::has\+Skeleton} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_gad8c8d4915bb3fc49768fe2df353f9769}\label{group___scene_gad8c8d4915bb3fc49768fe2df353f9769}} 
\index{Scene@{Scene}!get\+Skeleton@{get\+Skeleton}}
\index{get\+Skeleton@{get\+Skeleton}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Skeleton()}{getSkeleton()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_skeleton_instance}{Skeleton\+Instance}$\ast$ Ogre\+::\+Instanced\+Entity\+::get\+Skeleton (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_entity_a2db6c5cd89d8d4324d4bc58e0b8beccf}{Entity\+::get\+Skeleton} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga12ab97d999121451b671b795e440d538}\label{group___scene_ga12ab97d999121451b671b795e440d538}} 
\index{Scene@{Scene}!get\+Animation\+State@{get\+Animation\+State}}
\index{get\+Animation\+State@{get\+Animation\+State}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Animation\+State()}{getAnimationState()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_animation_state}{Animation\+State}$\ast$ Ogre\+::\+Instanced\+Entity\+::get\+Animation\+State (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption}) const}

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_entity_a76018751696b7dfce2490e3431ade86b}{Entity\+::get\+Animation\+State} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga9d0aba5085aa3cabe566c00596315d05}\label{group___scene_ga9d0aba5085aa3cabe566c00596315d05}} 
\index{Scene@{Scene}!get\+All\+Animation\+States@{get\+All\+Animation\+States}}
\index{get\+All\+Animation\+States@{get\+All\+Animation\+States}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+All\+Animation\+States()}{getAllAnimationStates()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_animation_state_set}{Animation\+State\+Set}$\ast$ Ogre\+::\+Instanced\+Entity\+::get\+All\+Animation\+States (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_entity_af0ff0ef55ebb835da04cba47f2002a1b}{Entity\+::get\+All\+Animation\+States} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga4fdd447620e786031195fc75086a9043}\label{group___scene_ga4fdd447620e786031195fc75086a9043}} 
\index{Scene@{Scene}!\+\_\+update\+Animation@{\+\_\+update\+Animation}}
\index{\+\_\+update\+Animation@{\+\_\+update\+Animation}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Animation()}{\_updateAnimation()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Instanced\+Entity\+::\+\_\+update\+Animation (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called by \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} in {\itshape his} \+\_\+update\+Render\+Queue to tell us we need to calculate our bone matrices. 

\begin{DoxyRemark}{Remarks}
Assumes it has a skeleton (m\+Skeleton\+Instance != 0) 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
true if something was actually updated 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_gae89c0833c0c9d0c22c8baea6237c8ef5}\label{group___scene_gae89c0833c0c9d0c22c8baea6237c8ef5}} 
\index{Scene@{Scene}!set\+Transform\+Lookup\+Number@{set\+Transform\+Lookup\+Number}}
\index{set\+Transform\+Lookup\+Number@{set\+Transform\+Lookup\+Number}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Transform\+Lookup\+Number()}{setTransformLookupNumber()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+Transform\+Lookup\+Number (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{num }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the transformation look up number. 

\mbox{\Hypertarget{group___scene_ga4cc335ae880111a0a654d9f5c5179478}\label{group___scene_ga4cc335ae880111a0a654d9f5c5179478}} 
\index{Scene@{Scene}!get\+Position@{get\+Position}}
\index{get\+Position@{get\+Position}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Position()}{getPosition()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Instanced\+Entity\+::get\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Retrieve the position. 

\mbox{\Hypertarget{group___scene_ga60f1479a07f10c35340896f5d0a305f5}\label{group___scene_ga60f1479a07f10c35340896f5d0a305f5}} 
\index{Scene@{Scene}!set\+Position@{set\+Position}}
\index{set\+Position@{set\+Position}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Position()}{setPosition()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+Position (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{position,  }\item[{bool}]{do\+Update = {\ttfamily true} }\end{DoxyParamCaption})}



Set the position or the offset from the parent node if a parent node exists. 

\mbox{\Hypertarget{group___scene_ga737641e39225f9b238060f50d91d6b7a}\label{group___scene_ga737641e39225f9b238060f50d91d6b7a}} 
\index{Scene@{Scene}!get\+Orientation@{get\+Orientation}}
\index{get\+Orientation@{get\+Orientation}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Orientation()}{getOrientation()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_quaternion}{Quaternion}\& Ogre\+::\+Instanced\+Entity\+::get\+Orientation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Retrieve the orientation. 

\mbox{\Hypertarget{group___scene_ga63c95921055eb1d80567dee7a04c54ec}\label{group___scene_ga63c95921055eb1d80567dee7a04c54ec}} 
\index{Scene@{Scene}!set\+Orientation@{set\+Orientation}}
\index{set\+Orientation@{set\+Orientation}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Orientation()}{setOrientation()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+Orientation (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{orientation,  }\item[{bool}]{do\+Update = {\ttfamily true} }\end{DoxyParamCaption})}



Set the orientation or the offset from the parent node if a parent node exists. 

\mbox{\Hypertarget{group___scene_gac20fe04c829f18bc445db7030b0ea7fd}\label{group___scene_gac20fe04c829f18bc445db7030b0ea7fd}} 
\index{Scene@{Scene}!get\+Scale@{get\+Scale}}
\index{get\+Scale@{get\+Scale}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Scale()}{getScale()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Instanced\+Entity\+::get\+Scale (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Retrieve the local scale. 

\mbox{\Hypertarget{group___scene_ga8ed2a05eacb2993c3b02e6e9463dedb5}\label{group___scene_ga8ed2a05eacb2993c3b02e6e9463dedb5}} 
\index{Scene@{Scene}!set\+Scale@{set\+Scale}}
\index{set\+Scale@{set\+Scale}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Scale()}{setScale()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+Scale (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{scale,  }\item[{bool}]{do\+Update = {\ttfamily true} }\end{DoxyParamCaption})}



Set the scale or the offset from the parent node if a parent node exists. 

\mbox{\Hypertarget{group___scene_ga1c4f7f74bfdad336ddfd766fd8687a90}\label{group___scene_ga1c4f7f74bfdad336ddfd766fd8687a90}} 
\index{Scene@{Scene}!get\+Max\+Scale\+Coef@{get\+Max\+Scale\+Coef}}
\index{get\+Max\+Scale\+Coef@{get\+Max\+Scale\+Coef}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Max\+Scale\+Coef()}{getMaxScaleCoef()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Instanced\+Entity\+::get\+Max\+Scale\+Coef (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns the maximum derived scale coefficient among the xyz values. 

\mbox{\Hypertarget{group___scene_gab2d0353ff71d56330547b5122ddfa1ea}\label{group___scene_gab2d0353ff71d56330547b5122ddfa1ea}} 
\index{Scene@{Scene}!update\+Transforms@{update\+Transforms}}
\index{update\+Transforms@{update\+Transforms}!Scene@{Scene}}
\subsubsection{\texorpdfstring{update\+Transforms()}{updateTransforms()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::update\+Transforms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Update the world transform and derived values. 

\mbox{\Hypertarget{group___scene_ga984d8d0315a817ac4ef3ec62fceae76d}\label{group___scene_ga984d8d0315a817ac4ef3ec62fceae76d}} 
\index{Scene@{Scene}!is\+In\+Use@{is\+In\+Use}}
\index{is\+In\+Use@{is\+In\+Use}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+In\+Use()}{isInUse()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instanced\+Entity\+::is\+In\+Use (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Tells if the entity is in use. 

\mbox{\Hypertarget{group___scene_gaa2995ea29b9105a5d497f154b825f170}\label{group___scene_gaa2995ea29b9105a5d497f154b825f170}} 
\index{Scene@{Scene}!set\+In\+Use@{set\+In\+Use}}
\index{set\+In\+Use@{set\+In\+Use}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+In\+Use()}{setInUse()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+In\+Use (\begin{DoxyParamCaption}\item[{bool}]{used }\end{DoxyParamCaption})}



Sets whether the entity is in use. 

\mbox{\Hypertarget{group___scene_gaad489f840b61e8e987ec2c48e3b16b78}\label{group___scene_gaad489f840b61e8e987ec2c48e3b16b78}} 
\index{Scene@{Scene}!\+\_\+get\+Parent\+Node\+Full\+Transform@{\+\_\+get\+Parent\+Node\+Full\+Transform}}
\index{\+\_\+get\+Parent\+Node\+Full\+Transform@{\+\_\+get\+Parent\+Node\+Full\+Transform}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Parent\+Node\+Full\+Transform()}{\_getParentNodeFullTransform()}}
{\footnotesize\ttfamily virtual const \hyperlink{class_ogre_1_1_affine3}{Affine3}\& Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Parent\+Node\+Full\+Transform (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns the world transform of the instanced entity including local transform. 



Reimplemented from \hyperlink{class_ogre_1_1_movable_object_a774753927eb2a42a9d8f5492cd2ced1a}{Ogre\+::\+Movable\+Object}.



References Ogre\+::\+Affine3\+::\+I\+D\+E\+N\+T\+I\+TY.

\mbox{\Hypertarget{group___scene_ga429d997908f06510df395f5e41e71b7b}\label{group___scene_ga429d997908f06510df395f5e41e71b7b}} 
\index{Scene@{Scene}!\+\_\+get\+Derived\+Position@{\+\_\+get\+Derived\+Position}}
\index{\+\_\+get\+Derived\+Position@{\+\_\+get\+Derived\+Position}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+get\+Derived\+Position()}{\_getDerivedPosition()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Derived\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the derived position of the instanced entity including local transform. 



References Ogre\+::\+Vector3\+::\+Z\+E\+RO.

\mbox{\Hypertarget{group___scene_ga27237a910269ec881ab86df2ebea03ed}\label{group___scene_ga27237a910269ec881ab86df2ebea03ed}} 
\index{Scene@{Scene}!is\+In\+Scene@{is\+In\+Scene}}
\index{is\+In\+Scene@{is\+In\+Scene}!Scene@{Scene}}
\subsubsection{\texorpdfstring{is\+In\+Scene()}{isInScene()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Instanced\+Entity\+::is\+In\+Scene (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns true if this object is attached to a \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} or \hyperlink{class_ogre_1_1_tag_point}{Tag\+Point}, and this \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} / \hyperlink{class_ogre_1_1_tag_point}{Tag\+Point} is currently in an active part of the scene graph. 



Reimplemented from \hyperlink{class_ogre_1_1_movable_object_a0a0fe2643c8d7d52a18a8f013192064b}{Ogre\+::\+Movable\+Object}.

\mbox{\Hypertarget{group___scene_ga0562933b30acaa9ce172d36dd56e94b4}\label{group___scene_ga0562933b30acaa9ce172d36dd56e94b4}} 
\index{Scene@{Scene}!set\+Custom\+Param@{set\+Custom\+Param}}
\index{set\+Custom\+Param@{set\+Custom\+Param}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Custom\+Param()}{setCustomParam()}}
{\footnotesize\ttfamily void Ogre\+::\+Instanced\+Entity\+::set\+Custom\+Param (\begin{DoxyParamCaption}\item[{unsigned char}]{idx,  }\item[{const \hyperlink{class_ogre_1_1_vector4}{Vector4} \&}]{new\+Param }\end{DoxyParamCaption})}



Sets the custom parameter for this instance. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaad4652f49581a4867f14d50baa9e060d}{Instance\+Manager\+::set\+Num\+Custom\+Params} Because not all techniques support custom params, and some users may not need it while using millions of Instanced\+Entities, the params have been detached from \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} and stored in it\textquotesingle{}s \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} instead, to reduce memory overhead. 
\end{DoxySeeAlso}
\begin{DoxyRemark}{Remarks}
If this function is never called, all instances default to \hyperlink{class_ogre_1_1_vector4_a6094638aa9e67551258f70f113d805d9}{Vector4\+::\+Z\+E\+RO}. Watch out! If you destroy an instanced entity and then create it again (remember! Instanced entities are pre-\/allocated) it\textquotesingle{}s custom param will contain the old value when it was destroyed. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em idx} & of the param. In the range \mbox{[}0; \hyperlink{group___scene_gac0675779ed2ecc6ab4148fd4e4437dcb}{Instance\+Manager\+::get\+Num\+Custom\+Params()}) \\
\hline
{\em new\+Param} & New parameter \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_gae3ed38cdf3fbf06dac6c29777d45706f}\label{group___scene_gae3ed38cdf3fbf06dac6c29777d45706f}} 
\index{Scene@{Scene}!get\+Custom\+Param@{get\+Custom\+Param}}
\index{get\+Custom\+Param@{get\+Custom\+Param}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Custom\+Param()}{getCustomParam()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector4}{Vector4}\& Ogre\+::\+Instanced\+Entity\+::get\+Custom\+Param (\begin{DoxyParamCaption}\item[{unsigned char}]{idx }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_gad9b21aa78c94911add2c52c474d8d48c}\label{group___scene_gad9b21aa78c94911add2c52c474d8d48c}} 
\index{Scene@{Scene}!Batch\+Settings@{Batch\+Settings}}
\index{Batch\+Settings@{Batch\+Settings}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Batch\+Settings()}{BatchSettings()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Manager\+::\+Batch\+Settings\+::\+Batch\+Settings (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_gab31a5819d546d97995e9c5fc0f6dbe76}\label{group___scene_gab31a5819d546d97995e9c5fc0f6dbe76}} 
\index{Scene@{Scene}!Instance\+Manager@{Instance\+Manager}}
\index{Instance\+Manager@{Instance\+Manager}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Manager()}{InstanceManager()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Manager\+::\+Instance\+Manager (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{custom\+Name,  }\item[{\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$}]{scene\+Manager,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{mesh\+Name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group\+Name,  }\item[{\hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Instancing\+Technique}}]{instancing\+Technique,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{instancing\+Flags,  }\item[{size\+\_\+t}]{instances\+Per\+Batch,  }\item[{unsigned short}]{sub\+Mesh\+Idx,  }\item[{bool}]{use\+Bone\+Matrix\+Lookup = {\ttfamily false} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_gacc52c44d8afc077315a16f5f21e600d5}\label{group___scene_gacc52c44d8afc077315a16f5f21e600d5}} 
\index{Scene@{Scene}!````~Instance\+Manager@{$\sim$\+Instance\+Manager}}
\index{````~Instance\+Manager@{$\sim$\+Instance\+Manager}!Scene@{Scene}}
\subsubsection{\texorpdfstring{$\sim$\+Instance\+Manager()}{~InstanceManager()}}
{\footnotesize\ttfamily Ogre\+::\+Instance\+Manager\+::$\sim$\+Instance\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{group___scene_gafdb1bb452fa33f35fbc13dab22b4ae94}\label{group___scene_gafdb1bb452fa33f35fbc13dab22b4ae94}} 
\index{Scene@{Scene}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Instance\+Manager\+::get\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga19847d04345ad5c63ef8f20a143a1f83}\label{group___scene_ga19847d04345ad5c63ef8f20a143a1f83}} 
\index{Scene@{Scene}!get\+Scene\+Manager@{get\+Scene\+Manager}}
\index{get\+Scene\+Manager@{get\+Scene\+Manager}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Scene\+Manager()}{getSceneManager()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager}$\ast$ Ogre\+::\+Instance\+Manager\+::get\+Scene\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga20c5c86323fe3d15f2531e88d8299b17}\label{group___scene_ga20c5c86323fe3d15f2531e88d8299b17}} 
\index{Scene@{Scene}!set\+Instances\+Per\+Batch@{set\+Instances\+Per\+Batch}}
\index{set\+Instances\+Per\+Batch@{set\+Instances\+Per\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Instances\+Per\+Batch()}{setInstancesPerBatch()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::set\+Instances\+Per\+Batch (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{instances\+Per\+Batch }\end{DoxyParamCaption})}



Raises an exception if trying to change it after creating the first \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}. 

\begin{DoxyRemark}{Remarks}
The actual value may be less if the technique doesn\textquotesingle{}t support having so much 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batches for the usefulness of this function 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em instances\+Per\+Batch} & New instances per batch number \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_ga784eee0c3b16d9a661c39ad24459b0cb}\label{group___scene_ga784eee0c3b16d9a661c39ad24459b0cb}} 
\index{Scene@{Scene}!set\+Max\+Lookup\+Table\+Instances@{set\+Max\+Lookup\+Table\+Instances}}
\index{set\+Max\+Lookup\+Table\+Instances@{set\+Max\+Lookup\+Table\+Instances}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Max\+Lookup\+Table\+Instances()}{setMaxLookupTableInstances()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::set\+Max\+Lookup\+Table\+Instances (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{max\+Lookup\+Table\+Instances }\end{DoxyParamCaption})}



Sets the size of the lookup table for techniques supporting bone lookup table. 

Raises an exception if trying to change it after creating the first \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}. Setting this value below the number of unique (non-\/sharing) entity instance animations will produce a crash during runtime. Setting this value above will increase memory consumption and reduce framerate. \begin{DoxyRemark}{Remarks}
The value should be as close but not below the actual value. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em max\+Lookup\+Table\+Instances} & New size of the lookup table \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_gaad4652f49581a4867f14d50baa9e060d}\label{group___scene_gaad4652f49581a4867f14d50baa9e060d}} 
\index{Scene@{Scene}!set\+Num\+Custom\+Params@{set\+Num\+Custom\+Params}}
\index{set\+Num\+Custom\+Params@{set\+Num\+Custom\+Params}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Num\+Custom\+Params()}{setNumCustomParams()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::set\+Num\+Custom\+Params (\begin{DoxyParamCaption}\item[{unsigned char}]{num\+Custom\+Params }\end{DoxyParamCaption})}



Sets the number of custom parameters per instance. 

Some techniques (i.\+e. H\+W\+Instancing\+Basic) support this, but not all of them. They also may have limitations to the max number. All instancing implementations assume each instance param is a \hyperlink{class_ogre_1_1_vector4}{Vector4} (4 floats). \begin{DoxyRemark}{Remarks}
This function cannot be called after the first batch has been created. Otherwise it will raise an exception. If the technique doesn\textquotesingle{}t support custom params, it will raise an exception at the time of building the first \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch}.
\end{DoxyRemark}
H\+W\+Instancing\+Basic\+: Each custom params adds an additional float4 T\+E\+X\+C\+O\+O\+RD. H\+W\+Instancing\+V\+TF\+: Not implemented. (Recommendation\+: Implement this as an additional float4 V\+TF fetch) Texture\+V\+TF\+: Not implemented. (see H\+W\+Instancing\+V\+TF\textquotesingle{}s recommendation) Shader\+Based\+: Not supported. 
\begin{DoxyParams}{Parameters}
{\em num\+Custom\+Params} & Number of custom parameters each instance will have. Default\+: 0 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_gac0675779ed2ecc6ab4148fd4e4437dcb}\label{group___scene_gac0675779ed2ecc6ab4148fd4e4437dcb}} 
\index{Scene@{Scene}!get\+Num\+Custom\+Params@{get\+Num\+Custom\+Params}}
\index{get\+Num\+Custom\+Params@{get\+Num\+Custom\+Params}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Num\+Custom\+Params()}{getNumCustomParams()}}
{\footnotesize\ttfamily unsigned char Ogre\+::\+Instance\+Manager\+::get\+Num\+Custom\+Params (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{group___scene_ga3833def00a12ea2b8653e47b0ff214f9}\label{group___scene_ga3833def00a12ea2b8653e47b0ff214f9}} 
\index{Scene@{Scene}!get\+Instancing\+Technique@{get\+Instancing\+Technique}}
\index{get\+Instancing\+Technique@{get\+Instancing\+Technique}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Instancing\+Technique()}{getInstancingTechnique()}}
{\footnotesize\ttfamily \hyperlink{group___scene_ga98fb2a9ada779b56d48f74040e96a622}{Instancing\+Technique} Ogre\+::\+Instance\+Manager\+::get\+Instancing\+Technique (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxyReturn}{Returns}
Instancing technique this manager was created for. Can\textquotesingle{}t be changed after creation 
\end{DoxyReturn}


References Ogre\+::\+B\+L\+A\+N\+K\+S\+T\+R\+I\+NG.

\mbox{\Hypertarget{group___scene_gacee1be4e7b70a433b969571a55743361}\label{group___scene_gacee1be4e7b70a433b969571a55743361}} 
\index{Scene@{Scene}!get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch@{get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch}}
\index{get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch@{get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch()}{getMaxOrBestNumInstancesPerBatch()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Instance\+Manager\+::get\+Max\+Or\+Best\+Num\+Instances\+Per\+Batch (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name,  }\item[{size\+\_\+t}]{suggested\+Size,  }\item[{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}}]{flags }\end{DoxyParamCaption})}



Calculates the maximum (or the best amount, depending on flags) of instances per batch given the suggested size for the technique this manager was created for. 

\begin{DoxyRemark}{Remarks}
This is done automatically when creating an instanced entity, but this function in conjunction with 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_ga20c5c86323fe3d15f2531e88d8299b17}{set\+Instances\+Per\+Batch} allows more flexible control over the amount of instances per batch 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em material\+Name} & Name of the material to base on \\
\hline
{\em suggested\+Size} & Suggested amount of instances per batch \\
\hline
{\em flags} & Flags to pass to the \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager}. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___general_ga4921efc65b347efe08a6d4992af069e2}{Instance\+Manager\+Flags} 
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
The max/best amount of instances per batch given the suggested size and flags 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_ga5767c95dac43bbc3c80966c362e32b73}\label{group___scene_ga5767c95dac43bbc3c80966c362e32b73}} 
\index{Scene@{Scene}!create\+Instanced\+Entity@{create\+Instanced\+Entity}}
\index{create\+Instanced\+Entity@{create\+Instanced\+Entity}!Scene@{Scene}}
\subsubsection{\texorpdfstring{create\+Instanced\+Entity()}{createInstancedEntity()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity}$\ast$ Ogre\+::\+Instance\+Manager\+::create\+Instanced\+Entity (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name }\end{DoxyParamCaption})}



Creates an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} based on an existing \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} (. 

\begin{DoxySeeAlso}{See also}
create\+Instance\+Manager) 
\end{DoxySeeAlso}
\begin{DoxyRemark}{Remarks}
Return value may be null if the Instance\+Manger technique isn\textquotesingle{}t supported Try to keep the number of entities with different materials {\bfseries to a minimum} For more information 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
Instanced\+Manager 

Instanced\+Batch, 

\hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} Alternatively you can call Instanced\+Manager\+::create\+Instance\+Entity using the returned pointer from create\+Instance\+Manager 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em material\+Name} & \hyperlink{class_ogre_1_1_material}{Material} name \\
\hline
{\em manager\+Name} & Name of the instance manager \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} ready to be attached to a \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} 
\end{DoxyReturn}
\mbox{\Hypertarget{group___scene_ga78d1331b24a26e89d49b50c0293bdab2}\label{group___scene_ga78d1331b24a26e89d49b50c0293bdab2}} 
\index{Scene@{Scene}!cleanup\+Empty\+Batches@{cleanup\+Empty\+Batches}}
\index{cleanup\+Empty\+Batches@{cleanup\+Empty\+Batches}!Scene@{Scene}}
\subsubsection{\texorpdfstring{cleanup\+Empty\+Batches()}{cleanupEmptyBatches()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::cleanup\+Empty\+Batches (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



This function can be useful to improve C\+PU speed after having too many instances created, which where now removed, thus freeing many batches with zero used Instanced Entities However the batches aren\textquotesingle{}t automatically removed from memory until the \hyperlink{class_ogre_1_1_instance_manager}{Instance\+Manager} is destroyed, or this function is called. 

This function removes those batches which are completely unused (only wasting memory). \mbox{\Hypertarget{group___scene_gad95874d5f995a6b7b66707cb260a0a19}\label{group___scene_gad95874d5f995a6b7b66707cb260a0a19}} 
\index{Scene@{Scene}!defragment\+Batches@{defragment\+Batches}}
\index{defragment\+Batches@{defragment\+Batches}!Scene@{Scene}}
\subsubsection{\texorpdfstring{defragment\+Batches()}{defragmentBatches()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::defragment\+Batches (\begin{DoxyParamCaption}\item[{bool}]{optimize\+Culling }\end{DoxyParamCaption})}



After creating many entities (which turns in many batches) and then removing entities that are in the middle of these batches, there might be many batches with many free entities. 

Worst case scenario, there could be left one batch per entity. Imagine there can be 80 entities per batch, there are 80 batches, making a total of 6400 entities. Then 6320 of those entities are removed in a very specific way, which leads to having 80 batches, 80 entities, and G\+PU vertex shader still needs to process 6400! This is called fragmentation. This function reparents the Instanced\+Entities to fewer batches, in this case leaving only one batch with 80 entities

\begin{DoxyRemark}{Remarks}
This function takes time. Make sure to call this only when you\textquotesingle{}re sure there\textquotesingle{}s too much of fragmentation and you won\textquotesingle{}t be creating more Instanced\+Entities soon Also in many cases \hyperlink{group___scene_ga78d1331b24a26e89d49b50c0293bdab2}{cleanup\+Empty\+Batches()} ought to be enough Defragmentation is done per material Static batches won\textquotesingle{}t be defragmented. If you want to degragment them, set them to dynamic again, and switch back to static after calling this function.
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em optimize\+Culling} & When true, entities close together will be reorganized in the same batch for more efficient C\+PU culling. This can take more C\+PU time. You want this to be false if you now you\textquotesingle{}re entities are moving very randomly which tends them to get separated and spread all over the scene (which nullifies any C\+PU culling) \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_gacbaa392a89ee55cb80da7314d8ad9dfd}\label{group___scene_gacbaa392a89ee55cb80da7314d8ad9dfd}} 
\index{Scene@{Scene}!set\+Setting@{set\+Setting}}
\index{set\+Setting@{set\+Setting}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Setting()}{setSetting()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::set\+Setting (\begin{DoxyParamCaption}\item[{\hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Batch\+Setting\+Id}}]{id,  }\item[{bool}]{enabled,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name = {\ttfamily \hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG}} }\end{DoxyParamCaption})}



Applies a setting for all batches using the same material\+\_\+ existing ones and those that will be created in the future. 

\begin{DoxyParagraph}{}
For example set\+Setting( Batch\+Setting\+::\+C\+A\+S\+T\+\_\+\+S\+H\+A\+D\+O\+W\+S, false ) disables shadow casting for all instanced entities (
\end{DoxyParagraph}
\begin{DoxySeeAlso}{See also}
Movable\+Object\+::set\+Cast\+Shadow) 
\end{DoxySeeAlso}
\begin{DoxyParagraph}{}
For example set\+Setting( Batch\+Setting\+::\+S\+H\+O\+W\+\_\+\+B\+O\+U\+N\+D\+I\+N\+G\+B\+OX, true, \char`\"{}\+My\+Mat\char`\"{} ) will display the bounding box of the batch (not individual Instanced\+Entities) from all batches using material \char`\"{}\+My\+Mat\char`\"{} 
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
If the material name hasn\textquotesingle{}t been used, the settings are still stored This allows setting up batches before they get even created. 
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em id} & Setting \hyperlink{class_ogre_1_1_id}{Id} to setup, \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
Batch\+Settings\+::\+Batch\+Setting\+Id 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em enabled} & Boolean value. It\textquotesingle{}s meaning depends on the id. \\
\hline
{\em material\+Name} & When Blank, the setting is applied to all existing materials \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_ga077f2d02db254970a65827b238d5bae9}\label{group___scene_ga077f2d02db254970a65827b238d5bae9}} 
\index{Scene@{Scene}!get\+Setting@{get\+Setting}}
\index{get\+Setting@{get\+Setting}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Setting()}{getSetting()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Manager\+::get\+Setting (\begin{DoxyParamCaption}\item[{\hyperlink{group___scene_ga7832eb9e2627f71382fefc7293482508}{Batch\+Setting\+Id}}]{id,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name }\end{DoxyParamCaption}) const}



If settings for the given material didn\textquotesingle{}t exist, default value is returned. 

\mbox{\Hypertarget{group___scene_gacd6f5bed6147490ec59a41e570acd830}\label{group___scene_gacd6f5bed6147490ec59a41e570acd830}} 
\index{Scene@{Scene}!has\+Settings@{has\+Settings}}
\index{has\+Settings@{has\+Settings}!Scene@{Scene}}
\subsubsection{\texorpdfstring{has\+Settings()}{hasSettings()}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Manager\+::has\+Settings (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if settings were already created for the given material name. 

If false is returned, it means get\+Setting will return default settings. \mbox{\Hypertarget{group___scene_gaadfa0ab4a3974108898a518a1f789961}\label{group___scene_gaadfa0ab4a3974108898a518a1f789961}} 
\index{Scene@{Scene}!set\+Batches\+As\+Static\+And\+Update@{set\+Batches\+As\+Static\+And\+Update}}
\index{set\+Batches\+As\+Static\+And\+Update@{set\+Batches\+As\+Static\+And\+Update}!Scene@{Scene}}
\subsubsection{\texorpdfstring{set\+Batches\+As\+Static\+And\+Update()}{setBatchesAsStaticAndUpdate()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::set\+Batches\+As\+Static\+And\+Update (\begin{DoxyParamCaption}\item[{bool}]{b\+Static }\end{DoxyParamCaption})}



Tells this batch to stop updating animations, positions, rotations, and display all it\textquotesingle{}s active instances. 

Currently only \hyperlink{class_ogre_1_1_instance_batch_h_w}{Instance\+Batch\+HW} \& \hyperlink{class_ogre_1_1_instance_batch_h_w___v_t_f}{Instance\+Batch\+H\+W\+\_\+\+V\+TF} support it. This option makes the batch behave pretty much like Static Geometry, but with the G\+PU R\+AM memory advantages (less V\+R\+AM, less bandwidth) and not L\+OD support. Very useful for billboards of trees, repeating vegetation, etc. \begin{DoxyRemark}{Remarks}
This function moves a lot of processing time from the C\+PU to the G\+PU. If the G\+PU is already a bottleneck, you may see a decrease in performance instead! Call this function again (with b\+Static=true) if you\textquotesingle{}ve made a change to an \hyperlink{class_ogre_1_1_instanced_entity}{Instanced\+Entity} and wish this change to take effect. Be sure to call this after you\textquotesingle{}ve set all your instances 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{group___scene_gaca94c5dd0221ddf54f9881f859eef523}{Instance\+Batch\+H\+W\+::set\+Static\+And\+Update} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group___scene_ga395a8ce5c926625f1902d7f645d041fc}\label{group___scene_ga395a8ce5c926625f1902d7f645d041fc}} 
\index{Scene@{Scene}!\+\_\+add\+Dirty\+Batch@{\+\_\+add\+Dirty\+Batch}}
\index{\+\_\+add\+Dirty\+Batch@{\+\_\+add\+Dirty\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+add\+Dirty\+Batch()}{\_addDirtyBatch()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::\+\_\+add\+Dirty\+Batch (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} $\ast$}]{dirty\+Batch }\end{DoxyParamCaption})}



Called by an \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} when it requests their bounds to be updated for proper culling. 


\begin{DoxyParams}{Parameters}
{\em dirty\+Batch} & The batch which is dirty, usually same as caller. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group___scene_ga5a53a7786df59317f4b208b55bd3ec41}\label{group___scene_ga5a53a7786df59317f4b208b55bd3ec41}} 
\index{Scene@{Scene}!\+\_\+update\+Dirty\+Batches@{\+\_\+update\+Dirty\+Batches}}
\index{\+\_\+update\+Dirty\+Batches@{\+\_\+update\+Dirty\+Batches}!Scene@{Scene}}
\subsubsection{\texorpdfstring{\+\_\+update\+Dirty\+Batches()}{\_updateDirtyBatches()}}
{\footnotesize\ttfamily void Ogre\+::\+Instance\+Manager\+::\+\_\+update\+Dirty\+Batches (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Called by \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} when we told it we have at least one dirty batch. 

\mbox{\Hypertarget{group___scene_ga9c99d92a8ca66ad3bb588466acd2a11f}\label{group___scene_ga9c99d92a8ca66ad3bb588466acd2a11f}} 
\index{Scene@{Scene}!get\+Instance\+Batch\+Map\+Iterator@{get\+Instance\+Batch\+Map\+Iterator}}
\index{get\+Instance\+Batch\+Map\+Iterator@{get\+Instance\+Batch\+Map\+Iterator}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Instance\+Batch\+Map\+Iterator()}{getInstanceBatchMapIterator()}}
{\footnotesize\ttfamily \hyperlink{group___scene_ga449864e9fe068c83c3955dfcc112a2d1}{Instance\+Batch\+Map\+Iterator} Ogre\+::\+Instance\+Manager\+::get\+Instance\+Batch\+Map\+Iterator (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get non-\/updateable iterator over instance batches per material. 

\mbox{\Hypertarget{group___scene_ga12e1b31f34a7f3e232495f0acda251fb}\label{group___scene_ga12e1b31f34a7f3e232495f0acda251fb}} 
\index{Scene@{Scene}!get\+Instance\+Batch\+Iterator@{get\+Instance\+Batch\+Iterator}}
\index{get\+Instance\+Batch\+Iterator@{get\+Instance\+Batch\+Iterator}!Scene@{Scene}}
\subsubsection{\texorpdfstring{get\+Instance\+Batch\+Iterator()}{getInstanceBatchIterator()}}
{\footnotesize\ttfamily \hyperlink{group___scene_ga81a850f3da3dc22baa6d8fbd68a1723f}{Instance\+Batch\+Iterator} Ogre\+::\+Instance\+Manager\+::get\+Instance\+Batch\+Iterator (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get non-\/updateable iterator over instance batches for given material. 

\begin{DoxyRemark}{Remarks}
Each \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch} pointer may be modified for low level usage (i.\+e. set\+Custom\+Parameter), but there\textquotesingle{}s no synchronization mechanism when multithreading or creating more instances, that\textquotesingle{}s up to the user. 
\end{DoxyRemark}


References Ogre\+::\+Exception\+::\+E\+R\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+T\+A\+TE, and O\+G\+R\+E\+\_\+\+E\+X\+C\+E\+PT.

\mbox{\Hypertarget{group___scene_gab426b0250db523190d60f4bfe0414499}\label{group___scene_gab426b0250db523190d60f4bfe0414499}} 
\index{Scene@{Scene}!operator==@{operator==}}
\index{operator==@{operator==}!Scene@{Scene}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily \+\_\+\+Ogre\+Export bool Ogre\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&}]{lhs,  }\item[{const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&}]{rhs }\end{DoxyParamCaption})}



Referenced by Ogre\+::\+Colour\+Value\+::\+Colour\+Value(), Ogre\+::\+R\+T\+Shader\+::\+Function\+Invocation\+::get\+Return\+Type(), Ogre\+::\+Dual\+Quaternion\+::operator!=(), Ogre\+::\+Matrix3\+::operator!=(), Ogre\+::\+Quaternion\+::operator!=(), and Ogre\+::\+Matrix3\+::operator\mbox{[}$\,$\mbox{]}().

\mbox{\Hypertarget{group___scene_ga9d8174300d9fd7b766d727c85e11a20f}\label{group___scene_ga9d8174300d9fd7b766d727c85e11a20f}} 
\index{Scene@{Scene}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Scene@{Scene}}
\subsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily \+\_\+\+Ogre\+Export bool Ogre\+::operator!= (\begin{DoxyParamCaption}\item[{const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&}]{lhs,  }\item[{const \hyperlink{struct_ogre_1_1_shadow_texture_config}{Shadow\+Texture\+Config} \&}]{rhs }\end{DoxyParamCaption})}



Referenced by Ogre\+::\+Colour\+Value\+::\+Colour\+Value(), and Ogre\+::\+R\+T\+Shader\+::\+Function\+Invocation\+::get\+Return\+Type().



\subsection{Variable Documentation}
\mbox{\Hypertarget{group___scene_ga2c32100efe26093807424d2032f66464}\label{group___scene_ga2c32100efe26093807424d2032f66464}} 
\index{Scene@{Scene}!setting@{setting}}
\index{setting@{setting}!Scene@{Scene}}
\subsubsection{\texorpdfstring{setting}{setting}}
{\footnotesize\ttfamily bool Ogre\+::\+Instance\+Manager\+::\+Batch\+Settings\+::setting\mbox{[}\hyperlink{group___scene_gga7832eb9e2627f71382fefc7293482508a93252cb20077bbc127c02d96f5d696f0}{N\+U\+M\+\_\+\+S\+E\+T\+T\+I\+N\+GS}\mbox{]}}



\subsection{Friends}
\mbox{\Hypertarget{group___scene_gab0ddd6acb1bcb90f4ac672b7ba7569b0}\label{group___scene_gab0ddd6acb1bcb90f4ac672b7ba7569b0}} 
\index{Scene@{Scene}!Instance\+Batch@{Instance\+Batch}}
\index{Instance\+Batch@{Instance\+Batch}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch}{InstanceBatch}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_instance_batch}{Instance\+Batch}\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{group___scene_gaf05a8273f12bc11f025607a06b3b3e2a}\label{group___scene_gaf05a8273f12bc11f025607a06b3b3e2a}} 
\index{Scene@{Scene}!Instance\+Batch\+Shader@{Instance\+Batch\+Shader}}
\index{Instance\+Batch\+Shader@{Instance\+Batch\+Shader}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+Shader}{InstanceBatchShader}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_instance_batch_shader}{Instance\+Batch\+Shader}\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{group___scene_ga204d0aed3320790edf10711c32f3db73}\label{group___scene_ga204d0aed3320790edf10711c32f3db73}} 
\index{Scene@{Scene}!Instance\+Batch\+HW@{Instance\+Batch\+HW}}
\index{Instance\+Batch\+HW@{Instance\+Batch\+HW}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+HW}{InstanceBatchHW}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_instance_batch_h_w}{Instance\+Batch\+HW}\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{group___scene_ga9534bbd3a2646322b2767289cb9c972c}\label{group___scene_ga9534bbd3a2646322b2767289cb9c972c}} 
\index{Scene@{Scene}!Instance\+Batch\+H\+W\+\_\+\+V\+TF@{Instance\+Batch\+H\+W\+\_\+\+V\+TF}}
\index{Instance\+Batch\+H\+W\+\_\+\+V\+TF@{Instance\+Batch\+H\+W\+\_\+\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Instance\+Batch\+H\+W\+\_\+\+V\+TF}{InstanceBatchHW\_VTF}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_instance_batch_h_w___v_t_f}{Instance\+Batch\+H\+W\+\_\+\+V\+TF}\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{group___scene_ga41ffb53da525c94819e85211fc48449c}\label{group___scene_ga41ffb53da525c94819e85211fc48449c}} 
\index{Scene@{Scene}!Base\+Instance\+Batch\+V\+TF@{Base\+Instance\+Batch\+V\+TF}}
\index{Base\+Instance\+Batch\+V\+TF@{Base\+Instance\+Batch\+V\+TF}!Scene@{Scene}}
\subsubsection{\texorpdfstring{Base\+Instance\+Batch\+V\+TF}{BaseInstanceBatchVTF}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_base_instance_batch_v_t_f}{Base\+Instance\+Batch\+V\+TF}\hspace{0.3cm}{\ttfamily [friend]}}

