A shape engine must provide functions to handle one or more of the shape types (line, fill, marker) and a function that returns an enum indicating which of those types it supports. The engine can optionally provide functions to generate appropriate shape structures. The default structuresare essentially enumerations and more complex custom structures can be derived to pass other information to the engine.
attachment, set_attachment
draw_2d_polygon
draw_2d_polyline
draw_2d_polymarker
draw_2d_polytriangle
fill_shape
line_shape
marker_shape
types
HT_Shape_EngineConstructor.
Purpose
HT_Counted const * attachment () const
void set_attachment (HT_Counted * in)
Purpose
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
Purpose
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;
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.
Purpose
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;
Purpose
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;
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.
Purpose
HT_Fill_Shape fill_shape (int number = 0) const
Purpose
Constructs an HT_Shape_Engine object.Synopsis
HT_Shape_Engine ()
Purpose
HT_Line_Shape line_shape (int number = 0) const
Purpose
HT_Marker_Shape marker_shape (int number = 0) const
Purpose
HT_Shape_Types types () const