class HT_Shape_Engine



Design Description See Also For an example and notes, see chapter 10, "The Shape Engine," and the related classes  HT_Shape, HT_Shape_Color, HT_Marker_Shape, HT_Fill_Shape, HT_Shape_Types, HT_Shape_Data, and HT_Shape_Engine_Data. Access Methods
attachment, set_attachment
A place holder for application information associated with runtime loadable objects.
draw_2d_polygon
A base function for providing polygon line shapes.
draw_2d_polyline
A base function for providing polyline line shapes.
draw_2d_polymarker
A base function for providing polymarker shapes.
draw_2d_polytriangle
A base function for providing polytriangle shapes.
fill_shape
Requests a specific fill shape from the engine to assign to the rendition.
line_shape
Requests a specific line shape from the engine to assign to the rendition.
marker_shape
Requests a specific marker shape from the engine to assign to the rendition.
types
Enumerated value that indicates which types of shapes are supported.
Constructor
HT_Shape_Engine
Constructor.



HT_Shape_Engine::attachment, set_attachment

Purpose

A place holder for application information associated with runtime loadable objects. Synopsis
HT_Counted const * attachment () const
void set_attachment (HT_Counted * in)



HT_Shape_Engine::draw_2d_polygon

Purpose

A base function for providing polygon line shapes. Synopsis
void HT_Shape_Engine_Data::draw_2d_polygon (HT_Renderer_Data const * rd,
                                            HT_Rendition const * hr,
                                            int count,
                                            HT_DCI_Point const *points,
                                            HT_RGB32 const *color) const
void HT_Shape_Engine_Data::draw_2d_polygon (HT_Renderer_Data const * rd,
                                            HT_Rendition const * hr,
                                            int count,
                                            HT_DC_Point const *points,
                                            HT_RGB32 const *color) const



HT_Shape_Engine::draw_2d_polyline

Purpose

A base function for providing polyline line shapes. Synopsis
HEIDI_API virtual void draw_2d_polyline (HT_Renderer_Data const * rd,
                                         HT_Rendition const * hr,
                                         int count,
                                         HT_DCI_Point const *points,
                                         HT_RGB32 const *colors = null,
                                         HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                         HT_Parameter const *parameters = null,
                                         int param_width = 1,
                                         float const *ws = null,
                                         HT_Vector const *normals = null) const;
HEIDI_API virtual void draw_2d_polymarker (HT_Renderer_Data const * rd,
                                           HT_Rendition const * hr,
                                           int count,
                                           HT_DCI_Point const *points,
                                           HT_RGB32 const *colors = null,
                                           HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                           HT_Parameter const *parameters = null,
                                           int param_width = 1,
                                           HT_Vector const *normals = null) const;
Details For notes on the ws function see HT_Renderer::draw_2d_textured_polyline.

The interface now allows for "n" triplets of texture vertex parameter data to be associated with each vertex .  The first place this is seen is in the set_vertex_parameters() member function of HT_Tristrip. Additionally, this new information needs to be passed on through to all of the functions that may make use of it.  In all cases it is an optional int function argument, also defaulting to 1, added immediately after the HT_Parameter * param argument. For more information see HT_Vertex_Set_Data::set_vertex_parameters.


HT_Shape_Engine::draw_2d_polymarker

Purpose

A base function for providing polymarker shapes. Synopsis
HEIDI_API virtual void draw_2d_polymarker (HT_Renderer_Data const * rd,
                                           HT_Rendition const * hr,
                                           int count,
                                           HT_DC_Point const *points,
                                           HT_RGB32 const *colors = null,
                                           HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                           HT_Parameter const *parameters = null,
                                           int param_width = 1,
                                           HT_Vector const *normals = null) const;
HEIDI_API virtual void draw_2d_polymarker (HT_Renderer_Data const * rd,
                                           HT_Rendition const * hr,
                                           int count,
                                           HT_DCI_Point const *points,
                                           HT_RGB32 const *colors = null,
                                           HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                           HT_Parameter const *parameters = null,
                                           int param_width = 1,
                                           HT_Vector const *normals = null) const;
Details The interface now allows for "n" triplets of texture vertex parameter data to be associated with each vertex .  The first place this is seen is in the set_vertex_parameters() member function of HT_Tristrip. Additionally, this new information needs to be passed on through to all of the functions that may make use of it.  In all cases it is an optional int function argument, also defaulting to 1, added immediately after the HT_Parameter * param argument. For more information see HT_Vertex_Set_Data::set_vertex_parameters.
HT_Shape_Engine::draw_2d_polytriangle

Purpose

A base function for providing polytriangle shapes. Synopsis
HEIDI_API virtual void draw_2d_polytriangle (HT_Renderer_Data const * rd,
                                             HT_Rendition const * hr,
                                             int count,
                                             HT_DC_Point const *points,
                                             HT_RGB32 const *colors = null,
                                             HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                             HT_Parameter const *parameters = null,
                                             int param_width = 1,
                                             float const *ws = null,
                                             HT_Vector const *normals = null) const;
HEIDI_API virtual void draw_2d_polytriangle (HT_Renderer_Data const * rd,
                                             HT_Rendition const * hr,
                                             int count,
                                             HT_DCI_Point const *points,
                                             HT_RGB32 const *colors = null,
                                             HT_Shape_Color const & mode = HT_Shape_Color::Undefined,
                                             HT_Parameter const *parameters = null,
                                             int param_width = 1,
                                             float const *ws = null,
                                             HT_Vector const *normals = null) const;
Details For notes on the ws function, see HT_Renderer::draw_2d_textured_polytriangle.

The interface now allows for "n" triplets of texture vertex parameter data to be associated with each vertex .  The first place this is seen is in the set_vertex_parameters() member function of HT_Tristrip. Additionally, this new information needs to be passed on through to all of the functions that may make use of it.  In all cases it is an optional int function argument, also defaulting to 1, added immediately after the HT_Parameter * param argument. For more information see HT_Vertex_Set_Data::set_vertex_parameters.



HT_Shape_Engine::fill_shape

Purpose

This requests a specific fill shape from the engine to assign to the rendition. Synopsis
HT_Fill_Shape   fill_shape   (int number = 0) const



HT_Shape_Engine::HT_Shape_Engine

Purpose

Constructs an HT_Shape_Engine object.
Synopsis
HT_Shape_Engine ()



HT_Shape_Engine::line_shape

Purpose

This requests a specific line shape from the engine to assign to the rendition. Synopsis
HT_Line_Shape   line_shape   (int number = 0) const



HT_Shape_Engine::marker_shape

Purpose

This requests a specific marker shape from the engine to assign to the rendition. Synopsis
HT_Marker_Shape marker_shape (int number = 0) const



HT_Shape_Engine::types

Purpose

The enumerated value that indicates which types of shapes are supported. Synopsis
HT_Shape_Types types () const