Back to the beginning of class HT_Rendition


HT_Rendition::line_cap, set_line_cap

Purpose

Sets or queries the line cap attribute in this rendition object. Synopsis
HT_Line_Cap line_cap ()
void set_line_cap (HT_Line_Cap x, HT_Boolean shared = HK_False) alter
Details The line cap attribute controls the treatment of the ends of lines and the ends of the end segments of non closed polylines. It must have one of the enumerated values defined in the class HT_Line_Cap.
HT_Line_Cap::Butt
Line end is specified as the line perpendicular to the relevant segment of the polyline and going through the endpoint of the line (or dash in the case of dash lines) .
HT_Line_Cap::Round
Line end formed by a semi circle centered at the endpoint of the line (or dash in the case of dash lines).
HT_Line_Cap::Square
Line end formed by a square centered at the endpoint of the line (or dash in the case of dash lines).
HT_Line_Cap::Diamond
Line end formed by a triangle centered at the endpoint of the line.


For more information on  line caps and illustrations, see the section "line Caps and Joins," in chapter 2, "Heidi Architecture."

See also The following are related line cap methods: line_start_cap, line_end_cap, line_end_cap_solid, dash_cap, dash_start_cap, dash_end_cap; and, the related line join methods line_join and line_joins_solid.
HT_Rendition::line_end_cap, set_ line_end_cap

Purpose

Controls the type of end cap used for lines. Synopsis
HT_Line_Cap
    line_end_cap () const
void
    set_line_end_cap (HT_Line_Cap x, HT_Boolean shared = HK_False) alter
Details The line_end_cap method specifies the type of end cap for whole lines, in the case that the start and end caps are different. It must have one of the enumerated values defined in the class HT_Line_Cap ¾ Butt, Round, Diamond or Square.  It applies to lines greater than one pixel wide.

For more information on  line caps, see the section "line Caps and Joins," in chapter 2, "Heidi Architecture," and  class HT_Line_Cap.
 

See also The following are related line cap methods: line_cap, line_start_cap, line_end_cap_solid, dash_cap, dash_start_cap, dash_end_cap; and, the related line join methods line_join and line_joins_solid.
HT_Rendition::line_end_cap_solid, set_ line_end_cap_solid

Purpose

Controls the drawing of solid end caps  for non closed polylines lines. Synopsis
HT_Boolean
    line_end_cap_solid () const
void
    set_line_end_cap_solid (HT_Boolean x, HT_Boolean shared = HK_False) alter
Details The line_end_cap_solid  method specifies the type of solid end cap for non closed polylines. The handling of the end cap depends on the position of the cap in a dash line pattern. If the position is in a "solid" section, the cap is drawn normally. If the position is in a gap between dashes, the Heidi program checks to see if the matching line_xxx_solid value is set. If it is set, then the dash is drawn normally; otherwise if it is not set and the line is in filled mode, the dash is drawn in the contrast color or if it is not set and the line is in "hollow" mode then the Heidi program does nothing. Basically all caps default to Butt (none) and the line_xxx_solid flags default to False (don't draw in the gap unless in filled mode, and in that case use contrast).

For more information on  line caps, see the section "line Caps and Joins," in chapter 2, "Heidi Architecture," and  class HT_Line_Cap.
 

See also The following are related line cap methods: line_cap, line_start_cap, dash_cap, dash_start_cap, dash_end_cap; and, the related line join methods line_join and line_joins_solid.
HT_Rendition::line_incarnation

Purpose

Queries the line incarnation in this HT_Rendition object¾ not for use by applications. Synopsis
HT_Incarnation line_incarnation ()
Details
typedef long HT_Incarnation;
This value uniquely characterizes the set of values of all the line attributes in this HT_Rendition object. Any other HT_Rendition object with the same value of the line incarnation has the same values for all the line attributes as this one.

It can be used by drivers to optimize the process of setting attributes to the hardware. If the incarnation value has not changed, then the driver may assume that the attributes for this group have not changed since the last call to this routine.
 


HT_Rendition::line_join, set_line_join

Purpose

Sets or queries the line join attribute in this rendition object Synopsis
HT_Line_Join line_join ()
void set_line_join (HT_Line_Join x, HT_Boolean shared = HK_False) alter
Details The line join attribute affects the treatment of the interior vertices of polylines. It must have one of the enumerated values defined in the class HT_Line_Join.
HT_Line_Join::Miter
The two edges of the nominal segment on the  exterior side of the angle are extended to where  they intersect and the polyline image is filled out to the boundary formed by those extended edges. Thus, the miter case involves adding another kite-shaped area to the line at each join.
HT_Line_Join::Bevel
A line is drawn between the corners of the two nominal segments exterior to the angle of the join, and the polyline  image is filled out to this line. Thus, the bevel case involves adding an equilateral triangular area to the line  at each joint.
HT_Line_Join::Round
An arc of a circle is drawn tangent to the two edges of  the nominal segments exterior to the angle of the join,  and the polyline image is filled out to this arc.
HT_Line_Join::Diamond
Two lines are drawn  from the corners of the two nominal segments exterior to the angle of the join. These lines extend to a point, and the polyline image is filled out to them. The "vertex" point of these lines is 1/2 line width from the intersection of the midpoints of the ends of the nominal segments.


For diagrams and further definitions of the line join styles, see the "Line Caps and Joins" section in chapter 2, "Heidi Architecture."

See also line_joins_solid  and the following related line and dash cap methods of class HT_Rendition: line_cap, line_start_cap, line_end_cap, line_end_cap_solid, dash_cap, dash_start_cap and  dash_end_cap.



HT_Rendition::line_joins_solid, set_line_joins_solid

Purpose

Sets or queries the line join attribute to solid in this rendition object. Synopsis
HT_Boolean
    line_joins_solid () const
void
    set_line_joins_solid (HT_Boolean x, HT_Boolean shared = HK_False) alter
Details The line_joins_solid attribute displays the interior vertices of polylines as solid. It must have one of the enumerated values defined in the class HT_Line_Join ¾  Miter, Bevel, Diamond or Round. The handling of the join depends on the position of the join in a dash line pattern. If the position is in a "solid" section, the cap is drawn normally. If the position is in a gap between joins, the Heidi program checks to see if the matching line_xxx_solid value is set. If it is set, then the join is drawn normally; otherwise if it is not set and the line is in filled mode, the join is drawn in the contrast color or if it is not set and the line is in "hollow" mode then the Heidi program does nothing.

For diagrams and further definitions of the line join styles, see the "Line Caps and Joins" section in chapter 2, "Heidi Architecture."
 

See also line_join  and the following related line and dash cap methods of class HT_Rendition: line_cap, line_start_cap, line_end_cap, line_end_cap_solid, dash_cap, dash_start_cap and  dash_end_cap.
HT_Rendition::line_pattern, set_line_pattern

Purpose

Sets the line pattern attribute in this rendition object. Synopsis
HT_Line_Pattern line_pattern ()
void set_line_pattern (HT_Line_Pattern x, HT_Boolean shared = HK_False) alter
void set_line_pattern (HT_Line_Shape const & x, HT_Boolean shared = HK_False) alter
void set_line_pattern (HT_Dash_Pattern const & x, HT_Boolean shared = HK_False) alter
Details npattern must have one of the enumerated values defined in the class HT_Line_Pattern. See HT_Line_Pattern  for the valid styles.

The pattern is applied to all line primitives, including elliptical arc and outline ellipse. The pattern is applied as voids to the line. That is, the background color or color of primitives lying under the line shows through. The pattern is applied as a "decal" in screen space and is not subject to coordinate transformations.

In the second form HT_Line_Pattern refers to the enum for built-in patterns.

In the third form HT_Line_Shape refers to a routine or shape engine. For more information see the line_shape method.

In the fourth form HT_Dash_Pattern refers to a user defined line pattern.
 

See Also For more information and an example, see the section, Line Patterns, in chapter 2, "Heidi Architecture, Renditions," line_pattern_scale, line_pattern_adaptive and pattern_scale.
HT_ Rendition::line_pattern_adaptive, set_line_pattern_adaptive

Purpose

Sets or queries whether the current line pattern should be adaptable Synopsis
void 
    set_line_pattern_adaptive (HT_Boolean x, HT_Boolean shared = HK_False)
Details Set this flag if line patterns should be scaled to make the pattern fit within the vertices of a line segment.

The pattern is shifted by one half the size of the first dash so that the line segment always begins and ends with a dash.

For example in a dashed line pattern description, the first number in the packed array is the nominal_length. This is a scaling factor for adaptive patterns¾the actual length or a percentage length that will display a line type pattern array within the varying segments of a polyline. Thus, as the polyline changes direction at each vertex, it is possible to display whole line patterns within varying line segment lengths. This is important in many applications for indicating property lines, contour lines, and so forth.
 

 

HT_ Rendition::line_pattern_scale, set_ line_pattern_scale

Purpose

Retrieves or sets the amount that patterned lines are scaled. It is a factor to change the lengths of dashes. Synopsis
float   
     line_pattern_scale (void) const
void 
    set_line_pattern_scale (float in, HT_Boolean shared = HK_False) alter
Details
HT_ Rendition::line_shape

Purpose

Returns a line shape from a user defined shape engine. Synopsis
HT_Line_Shape const & line_shape () const
Details
HT_Rendition::line_start_cap, set_ line_start_cap

Purpose

Controls the type of beginning, start, cap used for lines. Synopsis
HT_Line_Cap
    line_start_cap () const
void
    set_line_start_cap (HT_Line_Cap x, HT_Boolean shared = HK_False) alter
Details See also

HT_Rendition::line_weight, set_line_weight

Purpose

Sets the line weight attribute in this rendition object.
Synopsis
int line_weight ()
void set_line_weight (int x, HT_Boolean shared = HK_False) alter
Details weight represents line thickness in pixel units. It is applied to all line primitives, including elliptical arc and outline ellipse. When weight == 0, this signifies the driver should draw the thinnest line possible, which in most cases is the same as weight == 1.
HT_Rendition::marker_incarnation

Purpose

Queries the marker incarnation in this HT_Rendition object¾ not for use by applications. Synopsis
HT_Incarnation marker_incarnation ()
Details
typedef long HT_Incarnation;
This value uniquely characterizes the set of values of all the marker attributes in this HT_Rendition object. Any other HT_Rendition object with the same value of the marker incarnation has the same values for all the marker attributes as this one.

It can be used by drivers to optimize the process of setting attributes to the hardware. If the incarnation value has not changed, then the driver may assume that the attributes for this group have not changed since the last call to this routine.
 
 


HT_Rendition::marker_size, set_marker_size

Purpose

Sets or queries the marker size attribute in this rendition object. Synopsis
int marker_size ()
void set_marker_size (int x, HT_Boolean shared = HK_False) alter
Details x gives the marker radius in pixel units.
HT_Rendition::marker_symbol, set_marker_symbol

Purpose

Sets or queries the marker symbol attribute in this rendition object. Synopsis
HT_Marker_Symbol marker_symbol ()
void set_marker_symbol (HT_Marker_Shape const & x, HT_Boolean shared = HK_False) alter
void set_marker_symbol (HT_Marker_Symbol x, HT_Boolean shared = HK_False) alter
Details x, in the previous example, must have one of the enumerated values defined in the class HT_Marker_Symbol. This is a list of those enumerations.
Dot,
Plus,
X,
Star,
 
Circle,
Circle_With_Dot,
Circle_With_Plus,
Circle_With_X,
Circle_With_Circle,
Circle_Filled,
 
Box,
Box_With_Dot,
Box_With_X,
Box_Filled,
 
Diamond,
Diamond_With_Dot,
Diamond_With_Plus,
Diamond_Filled,
 
Triangle_Up,
Triangle_Up_With_Dot,
Triangle_Up_Filled,
Triangle_Up_Vertex,
Triangle_Up_Vertex_Filled,
 
Triangle_Down,
Triangle_Down_With_Dot,
Triangle_Down_Filled,
Triangle_Down_Vertex,
Triangle_Down_Vertex_Filled,
 
Triangle_Left,
Triangle_Left_With_Dot,
Triangle_Left_Filled,
Triangle_Left_Vertex,
Triangle_Left_Vertex_Filled,
 
Triangle_Right,
Triangle_Right_With_Dot,
Triangle_Right_Filled,
Triangle_Right_Vertex,
Triangle_Right_Vertex_Filled,
 
Count,
Undefined = -1

HT_Rendition::matched_back_color

Purpose

Queries the matched color attribute, in this rendition object, for the back face of the geometry. Synopsis
HT_RGB32 const
    matched_back_color () const
        {return m_nr->m_color->m_back_color.matched_rgb();}
Details See HT_Rendition::matched_color for details.
HT_Rendition::matched_background_color

Purpose

Queries for the matched background color. Synopsis
HT_RGB32 const matched_background_color () const
Details Matched background color will choose the closest match that approximates the original background color.

For more information, see the background color method, in this class.
 
 


HT_Rendition:: matched_color

Purpose

Queries for the matched color attribute in this rendition object. Synopsis
HT_RGB32 const matched_color ()
Details matched_color chooses the closest match that approximates the original color that was set for the driver.

For more information, see the color method, in this class.
 
 


HT_Rendition:: matched_contrast_color

Purpose

Face, matched, contrast color is approximated in this rendition object. Synopsis
HT_RGB32 const & matched_contrast_color ()
Details matched_contrast_color will choose the closest match that approximates the original face contrast color.

For more information, see the contrast_color method, in this class.
 
 


HT_Rendition::matched_front_color

Purpose

Queries the matched color attribute, in this rendition object, for the front face of the geometry. Synopsis
HT_RGB32 const
    matched_front_color () const
        {return m_nr->m_color->m_front_color.matched_rgb();}
Details See HT_Rendition::matched_color for details.
HT_Rendition::misc_incarnation

Purpose

Queries the miscellaneous incarnation in this HT_Rendition object. Not for use by applications. Synopsis
HT_Incarnation color_incarnation ()
Details
typedef long HT_Incarnation
This value uniquely characterizes the set of values of all the miscellaneous attributes in this HT_Rendition object. Any other HT_Rendition object with the same value of the miscellaneous incarnation has the same values for all the miscellaneous attributes as this one.

It can be used by drivers to optimize the process of setting attributes to the hardware. If the incarnation value has not changed, then the driver may assume that the attributes for this group have not changed since the last call to this routine.


HT_Rendition::miter_angle, set_miter_angle

Purpose

Cuts off the point of a miter at a percentage limit and creates a bevel. Synopsis
float miter_angle () const
void set_miter_angle (float x, HT_Boolean shared = HK_False) alter
Details The acute point of small angled, wide, mitered lines is cut and replaced by a bevel at a certain percentage limit. The default limit is 10%.
HT_Rendition::miter_length, set_miter_length

Purpose

Cuts off the point of a miter at a multiple of the line weight. Synopsis
float miter_length () const
void set_miter_length (float x, HT_Boolean shared = HK_False) alter
Details Similar to miter_angle, but less drastic, this method cuts off the point without eliminating the miter. The default is 6 times the line weight.
HT_Rendition::mixing_mode, set_mixing_mode

Purpose

Sets or queries the mixing mode attribute in this rendition object. Synopsis
HT_Mixing_Mode mixing_mode () const
void set_mixing_mode (HT_Mixing_Mode x, HT_Boolean shared = HK_False) alter
Details Defines the logical operation used when drawing filled primitives such as faces and text. The logical operation is an enumeration value defined in the class HT_Mixing_Mode.

Currently two values are supported, Exclusive_Or and Copy. The Exclusive_Or mode means that the destination pixel should be the XOR of the source pixel and the destination pixel. The Copy mode specifies that destination pixel should be replaced by the source pixel. For more information see the section, Miscellaneous Attributes, in chapter 2, Heidi Architecture.
 
 


HT_Rendition::modelling_matrix, set_modelling_matrix

Purpose

Sets or queries the modeling matrix in this HT_Rendition object. Synopsis
HT_Matrix const & modelling_matrix (void) const
void set_modelling_matrix (HT_Matrix const & x, HT_Boolean shared = HK_False) alter;
Details The first form returns a reference to the modeling matrix in this HT_Rendition object.

The second form sets the modeling matrix to the argument value.

The modeling matrix defines the transformation from object coordinates to World Coordinates, the first stage of the 3D transformation pipeline.


HT_Rendition::net_incarnation

Purpose

Queries the value of the net incarnation in this HT_Rendition object. Not for use by applications. Synopsis
HT_Incarnation net_incarnation ()
Details
typedef long HT_Incarnation;
If there is a change in any of the rendition values, the net rendition has a new incarnation value.

This value uniquely characterizes the set of values of all the attributes in this HT_Rendition object. Any other HT_Rendition object with the same value of the net incarnation has the same values for all the attributes as this one.


HT_Rendition::object_to_device

Purpose

Queries the object to device transformation matrix in this HT_Rendition object. Synopsis
HT_Matrix const & object_to_device ()
Details This returns the matrix that represents the transformation from object coordinates to device coordinates, and thus includes the effects of the entire 3D transformation pipeline.
HT_Rendition::operator

Purpose

Compares or sets the rendition to null. Synopsis
HT_Boolean operator== (void * ptr) const
HT_Boolean operator!= (void * ptr) const
HT_Rendition & operator= (void * ptr)
Details These operators do not support comparisons between two HT_Rendition objects. However, they do support comparisons to null.  
HT_Rendition::pattern_mode, set_pattern_mode

Purpose

Sets or queries the pattern mode attribute in this rendition object. Synopsis
HT_Pattern_Mode pattern_mode ()
void set_pattern_mode (HT_Pattern_Mode x, HT_Boolean shared = HK_False) alter
 
Details Defines the drawing mode to use when drawing filled primitives such as faces and text. The drawing mode is an enumeration value defined in the class HT_Pattern_Mode.

Here is a list of supported values:

Hollow = 0,
Filled = 1,
Hollow_Reversed = 2,
Filled_Reversed = 3,
Fill_Mask = 1,
Reverse_Mask = 2,
Undefined = -1
The Hollow pattern mode means that the on bits in the face patterns are filled with the drawing color and the off bits are not touched; Hollow_Reversed fills the off bits with the drawing colors and leaves the on bits untouched. The Filled pattern mode fills the off bits with the contrast color in addition to filling the on bits with the drawing colors; Filled_Reversed fills the off bits with the drawing color and on bits with the contrast color. Fill_Mask is a bit mask determining if either Filled_Reversed or Filled is in effect. Similarly Reverse_Mask is a bit mask determining if either Filled_Reversed or Hollow_Reversed is in effect.

HT_Rendition::perspective_correction, set_perspective_correction

Purpose

Queries and sets the perspective correction flag in this HT_Rendition object. Synopsis
HT_Perspective_Correction perspective_correction () const
void set_perspective_correction (HT_Perspective_Correction x, HT_Boolean shared = HK_False) alter
Details The flag indicates which of the following perspective correction method is used.
None = 0,
Parameter = 1,
Color = 2,
World = 4,
All = 7
None, the default, disables the operation all together. Parameter performs perspective correction on the texture coordinate interpolation; Color on the color interpolation; World on the World coordinate vertices; All on all three interpolations.

For more information, see class HT_Perspective_Correction


HT_Rendition::projection_matrix

Purpose

Queries the projection matrix in this HT_Rendition object. Synopsis
HT_Matrix const & projection_matrix ( )
Details The projection_matrix defines the transformation from viewing coordinates to normalized projection coordinates. It is determined by the camera parameters.
HT_Rendition::renderer_data

Purpose

A reference to the renderer from which the rendition was constructed. Synopsis
HT_Renderer_Data const * renderer_data (void)
Details This is an internal function that ensures appropriately shared data for changes. It is usually applied to the setting up of clipping bounds.
HT_Rendition::renew_renderer

Purpose

renew_renderer is called in order to associate a new renderer with a rendition. Synopsis
HEIDI_API void renew_renderer (HT_Renderer_Data const * rd, HT_Boolean shared = HK_False) alter

HT_Rendition::reset_hard_clip

Purpose

Resets the hard clip rectangle to the window extent. Synopsis
HEIDI_API void
            reset_hard_clip (HT_Boolean shared = HK_False) alter
Details This method resets the hard clip rectangle to the window extent specified in the current renderer configuration by setting the backup to the full value, as though it was never changed. See Also hard_clip, restrict_hard_clip

For more information on clipping, see the section "Clipping," in chapter 2, "Heidi Architecture, The Transformation Pipeline."

 
HT_Rendition::restrict_hard_clip

Purpose

Merges the specified rectangle with the existing one. Synopsis
void
    restrict_hard_clip (int l, int r, int b, int t, HT_Boolean shared = HK_False) alter
HEIDI_API void
    restrict_hard_clip (HT_Int_Rectangle const & rect, HT_Boolean shared = HK_False) alter
Details The extent of the hard clip rectangle in this HT_Rendition object is changed according to the arguments, as long as the result is the intersection of the two rectangles and it will always be within the old one. That is, the new left limit replaces the current one if it is no smaller than the current one; the new right limit replaces the current one if it is no greater, and so forth. See Also hard_clip, reset_hard_clip

For more information on clipping, see the section "Clipping," in chapter 2, "Heidi Architecture, The Transformation Pipeline."


HT_Rendition::screen_matrix

Purpose

Queries the screen matrix in this HT_Rendition object. Synopsis
HT_Matrix const & screen_matrix ( )
Details The screen matrix represents the transformation from normalized projection coordinates to display viewport coordinates. It is determined by camera parameters plus the viewport.
HT_Rendition::set_back_material

Purpose

Sets the material, in this HT_Rendition object, for the back face of the geometry. Synopsis
void
    set_back_material (HT_Material const & x, HT_Boolean shared = HK_False) alter
        {set_back_shader (x, shared);}
Details See HT_Material for details on the material attribute.
HT_Rendition::set_front_material

Purpose

Sets the material, in this HT_Rendition object, for the front face of the geometry. Synopsis
void
    set_front_material (HT_Material const & x, HT_Boolean shared = HK_False) alter
        {set_front_shader (x, shared);}
Details See HT_Material for details on the material attribute.
HT_ Rendition::set_material

Purpose

Sets the current material . Synopsis:
void set_material (HT_Material const & x, HT_Boolean shared = HK_False)
Details: See HT_Material for details on the material attribute.
HT_Rendition::shader, set_shader

Purpose

Queries and sets the shader in this HT_Rendition object. Synopsis
HT_Shader const & shader () const
void set_shader (HT_Shader const & x, HT_Boolean shared = HK_False) alter
Details A shader, that is, a type of material, can be associated with the rendition. It is part of the shading computation. These two functions query and set the shader in this HT_Rendition object. They are typically used in conjunction with lights in 3D.
HT_Rendition::swap_backface_color

Purpose:

Sets the front face color to the back face color and the back face color to the front face color. Synopsis:
void HT_Rendition::swap_backface_color ()
 

HT_Rendition::swap_contrast_color

Purpose

Sets the front face color to the contrast color and the contrast color to the front face color. Synopsis
void HT_Rendition::swap_contrast_color ()
 

HT_Rendition::text_draw_mode, set_text_draw_mode

Purpose

Advises the font engine to either emit raster, stroked, or outlined versions of the font. Synopsis
text_draw_mode () const
set_text_draw_mode (int /* Font_Draw_Modes */ x, HT_Boolean shared = HK_False) alter
Details This is done mainly for software font engines that can switch between these modes.
HT_Rendition::text_incarnation

Purpose

Queries the text incarnation in this HT_Rendition object. Not for use by applications. Synopsis
HT_Incarnation text_incarnation () const
Details
typedef long HT_Incarnation;
This value uniquely characterizes the set of values of all the text attributes in this HT_Rendition object. Any other HT_Rendition object with the same value of the text incarnation has the same values for all the text attributes as this one.

HT_Rendition::text_path, set_text_path

Purpose

Sets or queries the text path attribute in this HT_Rendition object. Synopsis
text_path () const
voidset_text_path(HT_Vector & x, HT_Boolean shared = HK_False) alter
Details .
HT_Rendition::text_rotation, set_text_rotation

Purpose

Sets or queries the text rotation attribute in this HT_Rendition object. Synopsis
float text_rotation () const
void set_text_rotation (float x, HT_Boolean shared = HK_False) alter
Details It defines the degree of text rotation in radians.

Note: Make sure that the rotation value is positive and falls between 0 and 2Pi.


HT_Rendition::text_scale, set_text_scale

Purpose

Sets or queries the text scale attribute in this HT_Rendition object. Synopsis
float text_scale () const
void set_text_scale (float x, HT_Boolean shared = HK_False) alter
Details It defines the size of the text.
HT_Rendition::text_spacing, set_text_spacing

Purpose

Sets or queries the text spacing attribute in this HT_Rendition object. Synopsis
float text_spacing ()const
void set_text_spacing (float x, HT_Boolean shared = HK_False) alter
Details It defines inter-character spacing of the text.
HT_Rendition::transform_incarnation

Purpose

Queries the transform incarnation in this HT_Rendition object. Not for use by applications. Synopsis
HT_Incarnation transform_incarnation () const
Details
typedef long HT_Incarnation;
This value uniquely characterizes the set of values of all of the transformation attributes—modeling matrix, camera parameters, and so forth—in this HT_Rendition object. Any other HT_Rendition object with the same value of the transform incarnation has the same values for all of the transformation attributes as this one.

HT_Rendition::use_plain_form

Purpose

Sets the line pattern to Solid, line cap to Butt, line join to Miter, and face pattern to Solid. Synopsis
void HT_Rendition::use_plain_form (int weight)
Details This is a convenient function to set the face and line rendition to the above values.
HT_Rendition::viewing_matrix

Purpose

Queries the viewing_matrix in this HT_Rendition object. Synopsis
HT_Matrix const & viewing_matrix (void) const
Details The viewing_matrix defines the transformation from World Coordinates to viewing coordinates. It is determined by camera parameters.
HT_Rendition::viewport, set_viewport

Purpose

Queries or sets the viewport in the HT_Rendition object. Synopsis
HT_Int_Rectangle const & viewport (void) const
void set_viewport (HT_Int_Rectangle const & x, HT_Boolean shared = HK_False) alter;
Details The first form returns the current viewport, the second form sets it.

The viewport is a rectangle in device coordinates onto which the camera field of view rectangle, in the image plane, is mapped.
 
 


HT_Rendition::world_to_device

Purpose

Synopsis
HT_Matrix const & world_to_device (void) const
Details Returns the matrix that represents the transformation from World Coordinates to device coordinates. Thus, it returns the effects of all of the 3D transformation pipeline, after the modeling transformation.