PURPOSE
Performs selection processing on a specified database element.
CALLING SEQUENCE
HIC_Select_Geometry (nr, geom)
HIC_Select_Segment (nr, si)
HIC_Select_Window (nr, wi)
--------------------------------------------------------------------------- nr HT_Rendition Net rendition passed to your callback. Passed by ref erence. geom HT_Geometry Geometry descriptor structure. Passed by reference. si HT_Segment_Info Segment information structure. Passed by reference. wi HT_Window_Info Window information structure. Passed by reference. ---------------------------------------------------------------------------
DETAILS
HIC_Select_Geometry is the standard default method for the following callback points:
"select geometry"
"select markers"
"select polylines"
"select polygons"
"select text"
HIC_Select_Segment is the standard default method for the "select segments" callback point and HIC_Select_Window is the default for "select windows".
You would normally call these functions only from your callback function for the corresponding callback point. Each performs the processing to check the referenced database element against the current selection event contained in the rendition nr.
PURPOSE
Locks the attribute settings of certain geometry at draw time.
CALLING SEQUENCE
HIC_Set_Attribute_Locks ( nr, lock )
------------------------------------------------------------------------- |
||
nr |
HT_Rendition |
Rendition created with HIC_New_Rendition. Passed by reference always |
lock |
Enumerated |
Type of geometry for attribute lock. See below for details. |
------------------------------------------------------------------------- |
Attribute_STYLE Attribute_RENDERING_OPTIONS Attribute_SELECTABILITY Attribute_VISIBILITY Attribute_COLOR_MAP Attribute_COLOR Attribute_WINDOW_FRAME Attribute_WINDOW_PATTERN Attribute_WINDOW Attribute_CALLBACK Attribute_CAMERA Attribute_DRIVER Attribute_DRIVER_OPTIONS Attribute_EDGE_PATTERN Attribute_EDGE_WEIGHT Attribute_FACE_PATTERN |
Attribute_HANDEDNESS Attribute_HEURISTICS Attribute_LINE_PATTERN Attribute_LINE_WEIGHT Attribute_MARKER_SIZE Attribute_MARKER_SYMBOL Attribute_METAFILE Attribute_MODELLING_MATRIX Attribute_TEXT_ALIGNMENT Attribute_TEXT_FONT Attribute_TEXT_PATH Attribute_TEXT_SPACING Attribute_USER_OPTIONS Attribute_USER_VALUE Attribute_TEXTURE_MATRIX |
PURPOSE
Sets the clipping rectangle in the specified rendition.
CALLING SEQUENCE
HIC_Set_Clipping (nr, nleft, nright, nbottom, ntop)
HIC_Clear_Z_Buffer (nr)
HIC_Show_Clipping (nr) provides access to .left, .right, .bottom, .top
----------------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by ref erence. nleft, nright, nbottom, ntop int New hard clip limits in integer device coordinates -----------------------------------------------------------------------------------
DETAILS
You can use these functions to set the hard clip limit attributes in a rendition created with HIC_New_Rendition. You should not attempt to change the clip rectangle in the rendition passed to your callback function.
The default clipping rectangle is determined as the intersection of the current window with its parent windows. If you wish to clear the z-buffer (hardware z or software z buffer hidden surface removal must be active) associated with the current clipping limits, you can make a specific call to clear the z buffer.
RESTRICTIONS
The HOOPS software Z buffer operates with clipping limits based on the area of the screen where the Z buffer will be displayed. It is not possible to set a narrower clipping region, draw using HOOPS I.M., and have geometry outside the newly set clipping limits not appear in the Z buffer.
PURPOSE
Locks the color attribute of certain geometry at draw time.
CALLING SEQUENCE
HIC_Set_Color_Locks ( nr, lock )
------------------------------------------------------------------------- |
||
nr |
HT_Rendition |
Rendition created with HIC_New_Rendition. Passed by reference always |
lock |
Enumerated |
Type of geometry for color lock. See below for details. |
------------------------------------------------------------------------- |
Color_NONE Color_WINDOW Color_WINDOW_CONTRAST Color_FACE_CONTRAST Color_LINE Color_MARKER Color_TEXT Color_EDGE Color_FRONT |
Color_BACK Color_AMBIENT Color_LIGHTING Color_CUT_EDGE Color_FACE Color_POLYGON Color_GEOMETRY Color_EVERYTHING |
PURPOSE
Sets the values of edge attributes in a specified rendition.
CALLING SEQUENCE
HIC_Set_Edge_Color (nr, rgb)
HIC_Set_Edge_Pattern (nr, npattern)
HIC_Set_Edge_Weight (nr, nweight)
------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. rgb HT_RGB New edge color. Passed by reference. npattern Enumerated New edge pattern. See below for details. nweight int New edge thickness, in pixels. -------------------------------------------------------------------VARIANTS
HIC_Set_Internal_Edge_Color (nr, int_color)
----------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New edge color, in four-byte format (with platform- dependent order) -----------------------------------------------------------------------------
DETAILS
You can use this function to change the values of edge attributes in a rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
npattern should have one of the symbolic constant values
LP_SOLID, LP_DASHDOT, LP_DASHED, LP_DOTTED, LP_DASH_2DOT, LP_DASH_3DOT, LP_LONG_DASH, LP_CENTER, LP_PHANTOM.
These correspond to the line patterns that you specify by descriptive strings in calls to the classic function Set_Edge_Pattern.
rgb is a structure of three floats, which should all be between zero and one.
NOTES
Note the following differences between these I.M. functions and the corresponding Set_(Attribute) functions of classic HOOPS:
PURPOSE
Sets the values of face attributes in a specified rendition.
CALLING SEQUENCE
HIC_Set_Face_Color (nr, rgb)
HIC_Set_Face_Back_Color (nr, rgb)
HIC_Set_Face_Transmission_Color (nr, rgb)
HIC_Set_Face_Contrast_Color (nr, rgb)
HIC_Set_Face_Pattern (nr, npattern)
------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. rgb HT_RGB New face color or face contrast color. Passed by reference. npattern Enumerated New face pattern. See below for details. -------------------------------------------------------------------VARIANTS
HIC_Set_Internal_Face_Color (nr, int_color)
HIC_Set_Internal_Face_Back_Color (nr, int_color)
HIC_Set_Internal_Face_Contrast_Color (nr, int_color)
HIC_Set_User_Face_Pattern (nr, user_patt)
------------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New face color or face contrast color, in four-byte format (with platform- dependent order) user_patt pointer Pointer to user pattern descriptor structure returned by HIC_New_User_Pattern -------------------------------------------------------------------------------
DETAILS
You can use this function to change the values of face attributes in a rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
npattern should have one of the symbolic constant values
FP_SOLID, FP_CHECKERBOARD, FP_CROSSHATCH, FP_DIAMONDS, FP_HORIZONTAL_BARS, FP_SLANT_LEFT, FP_SLANT_RIGHT, FP_SQUARE_DOTS, FP_VERTICAL_BARS, FP_WINDOW_CHECKERBOARD, FP_WINDOW_CROSSHATCH, FP_WINDOW_DIAMONDS, FP_WINDOW_HORIZONTAL_BARS, FP_WINDOW_SLANT_LEFT, FP_WINDOW_SLANT_RIGHT, FP_WINDOW_SQUARE_DOTS, FP_WINDOW_VERTICAL_BARS, FP_WINDOW_TRANSPARENT
These correspond clearly with the face patterns that you specify by descriptive strings in calls to the classic function Set_Face_Pattern.
rgb is a structure of three floats, which should all be between zero and one.
HOOPS I.M also gives you the ability to define your own face patterns with HIC_New_User_Pattern. You set the face pattern attribute to point to a user defined face pattern with HIC_Set_User_Face_Pattern.
NOTES
Note the following differences between these I.M. functions and the corresponding Set_(Attribute) functions of classic HOOPS:
HIC_Set_Internal_Face_Back_Color is used to draw the back sides of faces using an internal color value from a HIC_Show_Internal_XXX_Color()
RESTRICTIONS
HIC_Set_Face_Back_Color is only used if polygon handedness is set and backplane culling is disabled.
PURPOSE
Sets the displacement applied to face drawing. Normally faces are drawn with a small displacement so associated edges are clearly visible.
CALLING SEQUENCE
HIC_Set_Face_Displacement (nr, displacement)
------------------------------------------------------------------ | ||
nr    | HT_Rendition    | Rendition. Passed by reference |
displacement    | integer    | number of z-buffer units to push faces back |
------------------------------------------------------------------ |
PURPOSE
Sets the values of an interesting bit in a specified geometry or segment.
CALLING SEQUENCE
HIC_Check_Current_Geometry_Interesting (nr), returns flag
HIC_Check_Geometry_Interesting (nr, geo), returns flag
HIC_Check_Segment_Interesting (nr, si), returns flag
HIC_Set_Current_Geometry_Interesting (nr)
HIC_Set_Geometry_Interesting (nr, geo)
HIC_Set_Segment_Interesting (nr, si)
HIC_UnSet_Current_Geometry_Interesting (nr)
HIC_UnSet_Geometry_Interesting (nr, geo)
HIC_UnSet_Segment_Interesting (nr, si)
------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. geo HT_(Geometry) Geometry descriptor structure. Passed by reference. si HT_Segment Segment info structure. Passed by reference. flag HT_Boolean Flag indicating if the result is interesting or not. -------------------------------------------------------------------------
DETAILS
The interesting bit is a place holder than can be used for application specific purposes. The bit is referred to as the interesting bit because it can be set during rendering and then interrogated later, such as during selection processing. In the example cited, items which were off screen were considered un-interesting since there was no way they could be selected. As such, during rendering, only those items which appeared on the screen were marked as interesting. During selection processing, any items not marked as interesting were immediately rejected from consideration during the selection processing.
PURPOSE
Sets the values of line attributes in a specified rendition.
CALLING SEQUENCE
HIC_Set_Line_Color (nr, rgb)
HIC_Set_Line_Pattern (nr, npattern)
HIC_Set_Line_Weight (nr, nweight)
------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. rgb HT_RGB New line color. Passed by reference. npattern Enumerated New line pattern. See below for details. nweight int New line thickness, in pixels. -------------------------------------------------------------------VARIANTS
HIC_Set_Internal_Line_Color (nr, int_color)
----------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New line color, in four-byte format (with platform- dependent order) -----------------------------------------------------------------------------
DETAILS
You can use this function to change the values of line attributes in a rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
npattern should have one of the symbolic constant values
LP_SOLID, LP_DASHDOT, LP_DASHED, LP_DOTTED, LP_DASH_2DOT, LP_DASH_3DOT, LP_LONG_DASH, LP_CENTER, LP_PHANTOM.
These correspond to the line patterns that you specify by descriptive strings in calls to the classic function Set_Line_Pattern.
rgb is a structure of three floats, which should all be between zero and one.
NOTES
Note the following differences between these I.M. functions and the corresponding Set_(Attribute) functions of classic HOOPS:
PURPOSE
Sets a line pattern or style by name.
CALLING SEQUENCE
HIC_Set_Line_Style (HT_Rendition *nr, style)
------------------------------------------------------------------ |
||
nr | HT_Rendition | Rendition created with HIC_Net_Rendition. Passed by Reference. |
style | string | name of the line style or pattern to set on the given rendition |
------------------------------------------------------------------ |
DETAILS
Sets the line pattern or style based on the name, rather than by an enumerated type ( see HIC_Set_Line_Pattern ). This function can be used with user-defined line styles as well as with existing line patterns such as "dashdot".
PURPOSE
Sets a LOD clamp level in the specified rendition.
CALLING SEQUENCE
HIC_Set_LOD_Clamp (HT_Rendition *nr, int clamp)
------------------------------------------------------------------ |
||
nr | HT_Rendition | Rendition created with HIC_Net_Rendition. Passed by Reference. |
clamp | integer | clamp level that you want set on the provided rendition |
------------------------------------------------------------------ |
DETAILS
You can use this function to set a LOD clamp value on the provided rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
PURPOSE
Sets a specified marker symbol by name on a given rendition.
CALLING SEQUENCE
HIC_Set_Marker_Name (HT_Rendition *nr, name)
------------------------------------------------------------------ |
||
nr | HT_Rendition | Rendition created with HIC_Net_Rendition. Passed by Reference. |
name | string | name of the marker symbol to set on the given rendition |
------------------------------------------------------------------ |
DETAILS
Sets the marker symbol based on the name, rather than by an enumerated type ( see HIC_Set_Marker_Symbol ). This function can be used with user-defined glyphs as well as with existing marker symbols such as "<>".
PURPOSE
Sets the values of marker attributes in a specified rendition.
CALLING SEQUENCE
HIC_Set_Marker_Color (nr, rgb)
HIC_Set_Marker_Symbol (nr, nsymbol)
HIC_Set_Marker_Size (nr, nsize)
------------------------------------------------------------------ nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. rgb HT_RGB New marker color. Passed by reference. nsymbol Enumerated New marker symbol. See below for details. nsize int New marker size, in pixels. ------------------------------------------------------------------VARIANTS
HIC_Set_Internal_Marker_Color (nr, int_color)
--------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New marker color, in four-byte format (with platform- dependent order) ---------------------------------------------------------------------
DETAILS
You can use this function to change the values of marker attributes in a rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
nsymbol should have one of the symbolic constant values
MK_CIRCLE, MK_CIRCLE_WITH_DOT, MK_CIRCLE_WITH_CROSS, MK_CIRCLE_WITH_TIMES, MK_CIRCLE_WITH_CIRCLE, MK_SOLID_CIRCLE, MK_DOT, MK_CROSS, MK_SPLAT, MK_TIMES, MK_BOX, MK_BOX_WITH_DOT, MK_BOX_WITH_TIMES, MK_SOLID_BOX, MK_DIAMOND, MK_DIAMOND_WITH_DOT, MK_DIAMOND_WITH_CROSS, MK_SOLID_DIAMOND, MK_TRIANGLE_UP, MK_TRIANGLE_UP_V, MK_TRIANGLE_UP_WITH_DOT, MK_SOLID_TRIANGLE_UP, MK_SOLID_TRIANGLE_UP_V, MK_TRIANGLE_DOWN, MK_TRIANGLE_DOWN_V, MK_TRIANGLE_DOWN_WITH_DOT, MK_SOLID_TRIANGLE_DOWN, MK_SOLID_TRIANGLE_DOWN_V, MK_TRIANGLE_RIGHT, MK_TRIANGLE_RIGHT_V, MK_TRIANGLE_RIGHT_WITH_DOT, MK_SOLID_TRIANGLE_RIGHT, MK_SOLID_TRIANGLE_RIGHT_V, MK_TRIANGLE_LEFT, MK_TRIANGLE_LEFT_V, MK_TRIANGLE_LEFT_WITH_DOT, MK_SOLID_TRIANGLE_LEFT, MK_SOLID_TRIANGLE_LEFT_V, MK_POUND, MK_WIDE_PLUS, MK_OPEN_ARROW, MK_CLOSED_ARROW, MK_VERTICAL_BAR, MK_HALF_ARROW_LEFT, MK_HALF_ARROW_RIGHT, MK_WIDE_ARROW, MK_DOUBLE_ARROW, MK_LETTER_Y, MK_LETTER_Z
These correspond clearly with the marker symbols that you specify by descriptive strings in calls to the classic function Set_Marker_Symbol.
rgb is a structure of three floats, which should all be between zero and one.
NOTES
Note the following differences between these I.M. functions and the corresponding Set_(Attribute) functions of classic HOOPS:
PURPOSE
Reassigns modeling matrix settings.
CALLING SEQUENCE
HIC_Set_Modelling_Matrix (nr, matrix)
----------------------------------------------------------------------- nr HT_Rendition Rendition created by HIC_New_Rendition. Passed by reference. matrix pointer Pointer to a 4 x 4 array of floats. Passed by ref erence. -----------------------------------------------------------------------
DETAILS
This function is most useful in a segment callback. It can be used to provide animation. The general method of using this routine is to do a HIC_Show_Modelling_Matrix to obtain the current matrix, modify the contents of the matrix, obtain a new rendition, and then set the pointer to the modified matrix in the new rendition.
PURPOSE
Sets data elements of a polyedge structure. Polyedge structures are used to draw the edges of tristrips.
CALLING SEQUENCE
HIC_Set_Polyedge_Edge_Colors (polyedge, edge_colors)
HIC_Set_Polyedge_Edge_Normals (polyedge, edge_normals)
HIC_Set_Polyedge_Findex_Color_Interpolation (polyedge, flag)
HIC_Set_Polyedge_List (polyedge, list)
HIC_Set_Polyedge_Points (polyedge, points)
HIC_Set_Polyedge_Vertex_Colors (polyedge, vertex_colors)
HIC_Set_Polyedge_Vertex_Findices (polyedge, vertex_findices)
HIC_Set_Polyedge_Vertex_Normals (polyedge, vertex_normals)
HIC_Set_Polyedge_Vertex_Parameter_Width (polyedge, width)
HIC_Set_Polyedge_Vertex_Parameters (polyedge, vertex_parameters)
--------------------------------------------------------------------------- polyedge HT_Polyedge Polyedge structure descriptor. Passed by reference. edge_colors HT_RGB32 If not null, points to the first of an array of colors to associate with edges. Passed by reference. edge_normals HT_Vertex If not null, points to the first of an array of normal vectors to associate with edges. Passed by reference. flag boolean Passing a value of TRUE activates colorization by fractional indices. Passing a value of FALSE deactivates. list int Pointer to an array of integer indices that define the edges in the list and their vertex and face data within the points, vertex_colors, vertex_normals. Passed by reference. points HT_Point Pointer to an array of 3D points that contains the vertices of all the edges in the list. Passed by reference. vertex_colors HT_RGB32 if not null, points to the first of an array of colors associated with the vertices. The color associated with a particular vertex has the same index in this array as the vertex has in points. Passed by reference. vertex_findices pointer In not null, points to fractional indexes (into a color map) to determine the color for the vertex. Passed by reference. vertex_normals HT_Vertex If not null, points to the first of an array of normal vectors associated with vertices. Passed by reference. vertex_parameters HT_Parameter In not null, points to texture mapping coordinates associated with vertices. Passed by reference. ---------------------------------------------------------------------------
DETAILS
These functions are for use in a "draw 3d polyedge" callback function to set individual information a HOOPS polyedge data structure, which may be passed in from the core HOOPS or created by HIC_New_Polyedge.
list[0], and list[1] give the indices in points (and the two other vertex data arrays when supplied) of the first two vertices of the first polyline. list[2] gives the index of the first edge in the edge data arrays, and subsequent pairs (list[2*n-1], list[2*n]) give the vertex array index of the next vertex and the edge array index of the edge that comes with it, respectively. The end of the first polyline is flagged by a negative value of the vertex index; specifically, the value in the list array is the one's complement of the actual index of the last vertex in the polyline. If the next value in list after the last index of polyline is non-negative, then there is another polyline to be drawn and the pattern repeats.
For example, a list of 0, 1, 0, -3, 1, 4, -6, -2 means vertices 0, and 1 form edge 0; vertices 1, and -(-3) edge 1. We are done with the first subedge. Starting anew, vertices 4, -(-6) form edge -(-2) and this is the end of the second subpolyedge and the end of the polyedge.
PURPOSE
Sets data elements of a polymarker structure. Polymarker structures are used to draw makers at the vertices of tristrips.
CALLING SEQUENCE
HIC_Set_Polymarker_Findex_Color_Interpolation (polymarker, flag)
HIC_Set_Polymarker_List (polymarker, list)
HIC_Set_Polymarker_Points (polymarker, points)
HIC_Set_Polymarker_Vertex_Colors (polymarker, vertex_colors)
HIC_Set_Polymarker_Vertex_Findices (polymarker, vertex_findices)
HIC_Set_Polymarker_Vertex_Normals (polymarker, vertex_normals)
HIC_Set_Polymarker_Vertex_Parameter_Width (polymarker, width)
HIC_Set_Polymarker_Vertex_Parameters (polymarker, vertex_parameters)
---------------------------------------------------------------------------------- polymarker HT_Polymarker Polymarker structure descriptor. Passed by reference flag boolean Passing a value of TRUE activates colori zation by fractional indices. Passing a value of FALSE deactivates. list int Pointer to an array of integer indices that define the markers in the list and their vertex, vertex_colors, vertex_normals. Passed by reference. points HT_Point Pointer to an array of 3D points that con tains the vertices of all the markers in the list. Passed by reference. vertex_colors HT_RGB32 if not null, points to the first of an array of colors associated with the vertices. The color associated with a particular vertex has the same index in this array as the vertex has in points. Passed by reference. vertex_findices pointer In not null, points to fractional indexes (into a color map) to determine the color for the vertex. Passed by reference. vertex_normals HT_Vertex If not null, points to the first of an array of normal vectors associated with vertices. Passed by reference. vertex_parameters HT_Parameter In not null, points to texture mapping coordinates associated with vertices. Passed by reference. ----------------------------------------------------------------------------------
DETAILS
The points argument points to the first of an array of 3D points that contains the vertices of all the polymarkers in the list. The sequences of vertices defining the polymarkers in the list are specified by list, as described below.
Each polymarker starts with a positive vertex and ends with an negative vertex. You would need to negate the negative vertex to get the correct vertex index.
For example, 0, 1, 2, -3, 4, 5, -7 means 0, 1, 2, -(-3) form polymarker 0 and 4, 5, -(-7) polymarker 1.
PURPOSE
Set the values of text attributes in a specified rendition.
CALLING SEQUENCE
HIC_Set_Text_Alignment (nr, align)
HIC_Set_Text_Color (nr, rgb)
HIC_Set_Text_Extra_Space (nr, xspace)
HIC_Set_Text_Extra_Space_Units (nr, units)
HIC_Set_Text_Path (nr, px, py, pz)
HIC_Set_Text_Rotation (nr, rot)
HIC_Set_Text_Rotation_Follow_Path (nr)
HIC_Set_Text_Size (nr, size)
HIC_Set_Text_Size_Tolerance (nr, tol)
HIC_Set_Text_Size_Tolerance_Units (nr, units)
HIC_Set_Text_Size_Units (nr, units)
HIC_Set_Text_Slant (nr, slant)
HIC_Set_Text_Spacing (nr, space)
HIC_Set_Text_Transform (nr, xform)
HIC_Set_Text_Width_Scale (nr, wscale)
--------------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. align Enumerated New text alignment. See below for details. rgb HT_RGB New text color. Passed by reference. xspace float New text extra space. units Enumerated char Units for text extra space, size, or size tolerance. See below for details. px, py, pz float New text path. Three components. rot float New text rotation. Angle in degrees. size float New text size. tol float New text size tolerance. slant float New text slant. Angle in degrees. space float New text spacing. xform Enumerated char New text transformability. wscale float New text width scale. ---------------------------------------------------------------------------------VARIANT
HIC_Set_Internal_Text_Color (nr, int_color)
----------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New text color, in four-byte format (with platform- dependent order) -----------------------------------------------------------------------------
DETAILS
You can use this function to change the values of text attributes in a rendition you have created with HIC_New_Rendition. You should not use this function to change attribute values in the rendition passed to your callback function.
align should have one of the symbolic constant values
TA_CENTERCENTER, TA_CENTERLEFT, TA_CENTERRIGHT, TA_LOWERCENTER, TA_LOWERLEFT, TA_LOWERRIGHT, TA_UPPERCENTER, TA_UPPERLEFT, TA_UPPERRIGHT, TA_INSERTION_POINT,
which have a straightforward correspondence with the descriptive strings that you use with the classic HOOPS function Set_Text_Alignment.
xspace is a float form of the parameter you specify with a string with "extra space" in Set_Text_Font.
units should have one of the symbolic constant values
FS_NOT_VALID, FS_ORU, FS_SRU, FS_WRU, FS_POINTS, FS_PIXELS, FS_PERCENT,
which have a straightforward correspondence with the descriptive strings that you use with "size = ..." in Set_Text_Font.
px, py, pz have the same meaning and type as the arguments to Set_Text_Path.
rot, size, tol, and slant are float forms of the corresponding parameters that you specify with strings in Set_Text_Font.
space has the same type and meaning as the argument to Set_Text_Spacing.
xform should have one of the symbolic constant values
FT_NOT_VALID, FT_FULL, FT_NONE, FT_POSITION_ONLY
which have a straightforward correspondence with the descriptive strings that you use with the "transforms" specification in Set_Text_Font.
NOTES
Note the following differences between these I.M. functions and the corresponding functions of classic HOOPS:
PURPOSE
Repositions text specified by intermediate text structure.
CALLING SEQUENCE
HIC_Set_Text_Position (text_info, position)
---------------------------------------------------------------------------- text_info HT_Text_Info Specific intermediate text structure. Passed by ref erence. position HT_DC_Point New position, device coordinates. Passed by ref erence. ----------------------------------------------------------------------------
DETAILS
This function allows you to change the device-coordinate position of a text string at the intermediate level of text rendering. Normally, you would call it only from a "draw text" callback function, which will be passed the text_info structure.
The position member of the text_info structure locates the lower-left corner of the first character of the text string, in device coordinates. This will have been determined from
- the reference point you supplied when you inserted the text,
- the modeling transformation and camera attributes,
- the text attributes---alignment, size, width, path, spacing, extra space, rotation, and slant,
- the effects of soft clipping.
NOTES
The system will have applied soft clipping to the text string before calling "draw text", so it is possible that the first character of the string in text_info will not be the same as in the inserted text. position applies to the first character in the clipped string passed in text_info.
PURPOSE
Sets a tristrip structure.
CALLING SEQUENCE
HIC_Set_Tristrip_Face_Colors (tristrip, face_colors)
HIC_Set_Tristrip_Face_Normals (tristrip, face_normals)
HIC_Set_Tristrip_Findex_Color_Interpolation (tristrip, flag)
HIC_Set_Tristrip_List (tristrip, list)
HIC_Set_Tristrip_Points (tristrip, points)
HIC_Set_Tristrip_Vertex_Colors (tristrip, vertex_colors)
HIC_Set_Tristrip_Vertex_Findices (tristrip, vertex_findices)
HIC_Set_Tristrip_Vertex_Normals (tristrip, vertex_normals)
HIC_Set_Tristrip_Vertex_Parameter_Width (tristrip, width)
HIC_Set_Tristrip_Vertex_Parameters (tristrip, vertex_parameters)
--------------------------------------------------------------------------- tristrip HT_Tristrip Tristrip structure descriptor. Passed by reference. edge_colors HT_RGB32 If not null, points to the first of an array of colors to associate with the faces. Passed by reference. edge_normals HT_Vertex If not null, points to the first of an array of normal vectors to associate with the faces. Passed by reference. flag boolean Passing a value of TRUE activates colorization by fractional indices. Passing a value of FALSE deactivates. list int Pointer to an array of integer indices that define the faces in the list and their vertex data within the points, vertex_colors, vertex_normals. Passed by reference. points HT_Point Pointer to an array of 3D points that contains the vertices of all the faces in the list. Passed by reference. vertex_colors HT_RGB32 if not null, points to the first of an array of colors associated with the vertices. The color associated with a particular vertex has the same index in this array as the vertex has in points. Passed by reference. vertex_findices pointer In not null, points to fractional indexes (into a color map) to determine the color for the vertex. Passed by reference. vertex_normals HT_Vertex If not null, points to the first of an array of normal vectors associated with vertices. Passed by reference. vertex_parameters HT_Parameter In not null, points to texture mapping coordinates associated with vertices. Passed by reference. ---------------------------------------------------------------------------
DETAILS
These functions are for use in a "draw 3d tristrip" callback function to set individual information a HOOPS tristrip data structure, which may be passed in from the core HOOPS or created by HIC_New_Tristrip.
The points array points to the first of an array of 3D points that contains the vertices of all the triangle strips in the list. The sequences of vertices defining the tristrips in the list are specified by list, as described below. For each tristrip, the first three vertices form the first triangle, and thereafter the n-th vertex forms a new triangle with the (n- 1)st and (n-2)nd vertices. Thus, there is a natural one-to-one correspondence between faces and vertices after the second vertex. This correspondence is used to arrange the vertex- specific indices and face-specific indices in the list array, as described below.
For example, a list of 0,1,2,0,-3,1,4,5,-6,-2 means vertices 0, 1, and 2 form face 0; vertices 1, 2, and -(-3) face 1 and we are done with the first substrip. Starting anew, vertices 4, 5, -(-6) form face -(-2) and this is the end of the second substrip and the end of the tristrip.
PURPOSE
Sets the user option-by-index in the specified rendition.
CALLING SEQUENCE
HIC_Set_User_Index (nr, index, value)
------------------------------------------------------------- nr HT_Rendition Rendition created by HIC_New_Rendition. Passed by reference. index int Index to associate with value value pointer Your pointer to anything you want. -------------------------------------------------------------
DETAILS
You can use this function to set the value of the user option corresponding to the given index in a rendition you have created with HIC_New_Rendition. You should not use this function to set the values in the rendition passed to your callback function.
If there is already an option associated with the given index in the rendition nr, it is changed to value. If there is not already a user option corresponding to index, the system creates one and inserts it into the list representing the user option-by-index attribute in nr.
NOTES
There is no I.M. function for setting the string-valued user option that you set with Set_User_Option.
PURPOSE
Packs geometric data into the shell structure that is allocated by HIC_New_User_Shell
CALLING SEQUENCE
HIC_Set_User_Shell (new_polyhedron, point_count, points, vertex_normals, flist_length, face_list)
-------------------------------------------------------------
new_polyhedron HT_Polyhedron Pointer to a union of type HT_Polyhedron.
point_count integer Number of points in points.
points array of Vector of x-y-z triplets for the coordinates of the vertices floats to be used to build the shell. (A simple N x 3 array may also be used. Fortran callers should reverse the sub scripts.) Passed by reference always.
vertex_normals float Array of floats.
flist_length integer Total number of integers in face_list.
face_list array of Encoded description of how to connect the points to integers build the faces of the shell (see Insert_Shell).
-------------------------------------------------------------
DETAILS
This function is implemented mostly as a macro, and frees the user from
much of the complexity and redundancy of the HT_Polyhedron structure.
NOTES
This macro traverses the face list to get its own face count.
In a performance-critical area of an application where the face count is
already available, the user may wish to write a customized Set_Shell macro.
In addition, the developer may prefer to write a customized macro to support
local attributes for faces, edges, or vertices (other than vertex normals).
These customized macros would require some additional support from within
HOOPS, so please contact Techsoft if you need to customize.
Back
PURPOSE
Set the color used to draw shell vertices using an internal color value from a HIC_Show_Internal_XXX_Color()
CALLING SEQUENCE
HIC_Set_Internal_Vertex_Color (nr, int_color)
------------------------------------------------------------------ | ||
nr    | HT_Rendition    | Rendition. Passed by reference |
int_color    | HT_RGB32    | new vertex color, in four-byte format (with platform-dependent order) |
------------------------------------------------------------------ |
PURPOSE
Set the color used to draw shell vertices.
CALLING SEQUENCE
HIC_Set_Vertex_Color (nr, rgb)
------------------------------------------------------------------ | ||
nr    | HT_Rendition    | Rendition. Passed by reference |
rgb    | HT_RGB    | new vertex color. Passed by reference |
------------------------------------------------------------------ |
PURPOSE
Reassigns visibility settings.
CALLING SEQUENCE
HIC_Set_Visibility (nr, visibility)
----------------------------------------------------------------------- nr HT_Rendition Rendition created by HIC_New_Rendition. Passed by reference. visibility int Bitmask that specifies new visibility values. -----------------------------------------------------------------------
DETAILS
This function is most useful in a segment callback. It can be used to provide view dependent geometry visibilities. The general method of using this routine is to do a HIC_Show_Visibility to obtain the bit values, modify the bit settings, obtain a new rendition, and then set the modified visibility in the new rendition. The specific bit value settings are available from Techsoft America Technical Support.
PURPOSE
Locks the vivibility setting of certain geometry at draw time.
CALLING SEQUENCE
HIC_Set_Visibility_Locks (nr, lock)
------------------------------------------------------------------------- |
||
nr |
HT_Rendition |
Rendition created with HIC_New_Rendition. Passed by reference always |
lock |
Enumerated |
Type of geometry for visibility lock. See below for details. |
------------------------------------------------------------------------- |
Visibility_LINES Visibility_MARKERS Visibility_WINDOWS Visibility_TEXT Visibility_STRING_CURSORS Visibility_IMAGES Visibility_FACES Visibility_EDGES Visibility_LIGHTS Visibility_GEOMETRY Visibility_POLYGON_EDGES |
Visibility_GRID_EDGES Visibility_SHELL_EDGES Visibility_MESH_EDGES Visibility_SILHOUETTE_EDGES Visibility_PERIMETER_EDGES Visibility_MESH_QUAD_EDGES Visibility_HARD_EDGES Visibility_GENERIC_EDGES Visibility_FACE_LIGHTS Visibility_EDGE_LIGHTS Visibility_MARKER_LIGHTS Visibility_CUTTING_PLANES |
PURPOSE
Sets window color or contrast color attributes in the specified rendition.
CALLING SEQUENCE
HIC_Set_Window_Color (nr, rgb)
HIC_Set_Window_Contrast_Color (nr, rg)
HIC_Set_Window_Pattern (nr, pattern)
----------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. rgb HT_RGB New color value. Passed by reference. pattern int New pattern value. The values are enumerated in HIC_Set_Face_Pattern. -----------------------------------------------------------------------VARIANTS
HIC_Set_Internal_Window_Color (nr, int_color)
HIC_Set_Internal_Window_Contrast_Color (nr, int_color)
------------------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. int_color HT_RGB32 New color value in four-byte color format (with order dependent on platform). -------------------------------------------------------------------------HIC_Set_User_Window_Pattern (nr, pattern)
----------------------------------------------------------------- nr HT_Rendition Rendition created by HIC_New_Rendition. Passed by reference. pattern pointer Pointer to a pattern structure created by HIC_New_User_Pattern. Passed by reference. -----------------------------------------------------------------
DETAILS
You can use these functions to set the window color and window contrast color attributes in a rendition created with HIC_New_Rendition. You should not attempt to change the window colors in the rendition passed to your callback function.
NOTES
Note that in classic HOOPS these window color attributes are set by the general Set_Color function rather than functions specific to the window color attributes.
PURPOSE
Implements the IM equivalent of the "depth range" rendering option.
CALLING SEQUENCE
HIC_Set_Z_Range (nr, near, far)
----------------------------------------------------------------- nr HT_Rendition Rendition created with HIC_New_Rendition. Passed by reference. near float Near Z-range. A number between 0 and 1. far float Far Z-range. A number between 0 and 1. -----------------------------------------------------------------
NOTES
near and far should be floating point values such that 0 <= near <= far <= 1. See the documentation for HC_Set_Rendering_Options ("depth range = xxx, yyy") for more details.