# hc_experimental_proto.h

## Macro Definitions

| `HC_EXPERIMENTAL_PROTO_DEFINED`

## Types

| `HC_Cellular_Volume_Type`

## Fields

| `HC_CELLULAR_VOLUME_SIMPLEX`
| `HC_CELLULAR_VOLUME_PYRAMID`
| `HC_CELLULAR_VOLUME_WEDGE`
| `HC_CELLULAR_VOLUME_BOX`
| `HC_CELLULAR_VOLUME_FACE`
| `HC_CELLULAR_VOLUME_POLYHEDRON`
| `HC_CELLULAR_VOLUME_MIXED`
| `HC_CELLULAR_VOLUME_SEPARATOR`

## Functions

void | `HC_Edit_Cellular_Volume_Cells`
void | `HC_Edit_Cellular_Volume_Points`
void | `HC_DEdit_Cellular_Volume_Points`
Key | `HC_Insert_Cellular_Volume`
Key | `HC_DInsert_Cellular_Volume`
void | `HC_Show_Cellular_Volume`
void | `HC_DShow_Cellular_Volume`
void | `HC_Show_Cellular_Volume_Size`
void | `HC_Show_Cell_Vol_Cell_Count`
void | `HC_Show_Cell_Vol_Pgon_Count`
void | `HC_Show_Partial_Cell_Vol`
void | `HC_DShow_Partial_Cell_Vol`
void | `HC_Show_Partial_Cell_Vol_Size`
void | `HC_Show_Cell_Vol_Part_Pgon_Cnt`
void | `HC_Delete_Spec_Cell_Vol_Cells`
void | `HC_Delete_Spec_Cell_Vol_Points`

## Detailed Description

## Macro Definition

`HC_EXPERIMENTAL_PROTO_DEFINED`

## Type Documentation

enum `HC_Cellular_Volume_Type`

  Values:

  enumerator `HC_CELLULAR_VOLUME_SIMPLEX`
  enumerator `HC_CELLULAR_VOLUME_PYRAMID`
  enumerator `HC_CELLULAR_VOLUME_WEDGE`
  enumerator `HC_CELLULAR_VOLUME_BOX`
  enumerator `HC_CELLULAR_VOLUME_FACE`
  enumerator `HC_CELLULAR_VOLUME_POLYHEDRON`
  enumerator `HC_CELLULAR_VOLUME_MIXED`
  enumerator `HC_CELLULAR_VOLUME_SEPARATOR`

## Function Documentation

void `HC_Edit_Cellular_Volume_Cells`(Key key, int offset, int ndelete, int insert_list_length, int const insert_list[])

  Creates or deletes cells in a previously declared cellular volume.

  Edit_Cellular_Volume_Cells() lets you modify a complex volume as it sits in the database. You don’t have to delete and reinsert the volume from scratch.

  DETAILS

  Edit_Cellular_Volume_Cells() changes the originally specified cell_list (see Insert_Cellular_Volum() ), starting at offset in terms of the number of whole cells.

  First, if ndelete is non-zero then ndelete cells are dissolved from offset through offset+ ndelete - 1. The points referenced by those cells still exist.

  If insert_list_length is non-zero, new cells are then constructed using the information in insert_list, to a maximum of insert_list_length. The new cells are inserted in the list just before offset.

  Finally, the offsets of the cells are renumbered to reflect any changes.

  See also

  HC_Edit_Cellular_Volume_Points, HC_Show_Cellular_Volume, HC_Delete_Segment, HC_Delete_By_Key, HC_Flush_Contents, HC_Flush_By_Key, HC_Insert_Cellular_Volume.

  Parameters: | key – - The unique identifier returned by a previous call to Insert_Cellular_Volume(). offset – - Number of the cell in the original volume definition before which to start inserting or at which to begin deleting. “0” is the first. If specified as “-1”, editing starts after the old final cell. ndelete – - Number of cells to delete. insert_list_length – - Number of integers in insert_list. insert_list – - Encoded description of how to connect the existing vertices to build new cells for the volume. See Insert_Cellular_Volume() for format.

void `HC_Edit_Cellular_Volume_Points`(Key key, int offset, int ndelete, int insert, Point const points[])

  Changes or deletes vertex points of a previously declared cellular volume, or adds new points.

  See also

  HC_Edit_Shell_Points, HC_Insert_Cellular_Volume.

  Parameters: | key – - The unique identifier returned by a previous call to Insert_Cellular_Volume(). offset – - Number of the point in the original volume definition just before which to start editing. “0” is the first. If specified as “-1”, editing starts after the old final point. ndelete – - Number of points to delete. insert – - The number of points to be inserted. points – - Vector of x-y-z triplets to insert. (A simple N x 3 array may also be used.) Passed by reference always.

void `HC_DEdit_Cellular_Volume_Points`(Key key, int offset, int ndelete, int insert, DPoint const points[])

Key `HC_Insert_Cellular_Volume`(int point_count, Point const points[], int cell_list_length, int const cell_list[])

  Generates an object that is an arbitrarily-connected collection of polyhedral cells.

  To be enhanced

  Parameters: | pcount – - Number of valid points in points. points – - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shell. (A simple Nx 3 array may also be used.) Passed by reference always. cell_list_length – - Total number of integers in face_list. cell_list – - Encoded description of how to connect the points to build the cells of the colume (see details).
  Returns: | The key to the inserted geometry, or -1 if an error occurred.

Key `HC_DInsert_Cellular_Volume`(int point_count, DPoint const points[], int cell_list_length, int const cell_list[])

  Similar to Insert_Cellular_Volume(), but operates on double-precision point data.

  Parameters: | pcount – - Number of valid points in points. points – - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shell. (A simple Nx 3 array may also be used.) Passed by reference always. cell_length – - Total number of integers in face_list. cell_list – - Encoded description of how to connect the points to build the cells of the colume (see details).
  Returns: | The key to the inserted geometry, or -1 if an error occurred.

void `HC_Show_Cellular_Volume`(Key key, int *pcount, Point points[], int *flist_length, int face_list[])

  Returns the previous definition of a cellular volume, as referenced by a key.

  Show_Cellular_Volume() reads back the x-y-z’s currently stored in a cellular volume. This is useful if your program is not storing its own copy of the shell data. The key for the shell might come from Show_Selection_Element() or Find_Contents(), or it might have been saved by your program when the shell was created.

  DETAILS

  Use Show_Cellular_Volume_Size() to determine how large the points and face_list arrays are going to be, before you actually call Show_Cellular_Volume() .

  Similar to Show_Cellular_Volume() , Show_Partial_Cellular_Volume() is used to read back the x-y-z’s currently stored in a shell. However, the user can limit the part of the shell to examine, so that less memory (and time) is required for the operation.

  Use Show_Partial_Cellular_Volume_Size() to determine the minimum size of the points and face_list arrays, before you actually call Show_Partial_Shell().

  See also

  HC_Insert_Shell, HC_Get_Selection, HC_Open_Geometry, HC_Open_LOD, HC_Begin_Contents_Search, HC_Compute_Coordinates, HC_Open_Geometry

  NOTES

  Parameters: | key – - Unique numeric identifier pointing to a cellular volume in the database. pcount – - Number of valid points in points. Returned to caller. Passed by reference always. points – - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the volume. (A simple N x 3 array may also be used.) Returned to caller. Passed by reference always. clist_length – - Total number of integers in cell_list. Returned to caller. Passed by reference always. cell_list – - Encoded description of how to connect the points to build the cells of the volume. Returned to caller. Passed by reference always.

void `HC_DShow_Cellular_Volume`(Key key, int *pcount, DPoint points[], int *flist_length, int face_list[])

void `HC_Show_Cellular_Volume_Size`(Key key, int *pcount, int *clist_length)

  Finds the size of a given cellular volume. This is useful in determining the size of the data structures that must hold points and cell_list

  See also

  HC_Show_Cellular_Volume()

  Parameters: | key – - Unique numeric identifier pointing to a cellular volume in the database. pcount – - Number of valid points in points. Returned to caller. Passed by reference always. clist_length – - Total number of integers in cell_list. Returned to caller. Passed by reference always.

void `HC_Show_Cell_Vol_Cell_Count`(Key key, int *cell_count)

  Returns the number of cells in the cellular volume in constant time.

  See also

  HC_Show_Cellular_Volume()

  Parameters: | key – - Unique numeric identifier pointing to a Cellular volume in the database. cell_count – - Number of cells in the cellular volume. Returned to caller. Passed by reference always.

void `HC_Show_Cell_Vol_Pgon_Count`(Key key, int *polygon_countp)

  Returns the number of defined polygons in the cellular volume.

  See also

  HC_Show_Cellular_Volume()

  Parameters: | key – - Unique numeric identifier pointing to a Cellular volume in the database. cell_count – - Number of polygons in the cellular volume. Returned to caller. Passed by reference always.

void `HC_Show_Partial_Cell_Vol`(Key key, int poffset, int pcount, Point points[], int coffset, int ccount, int *cell_list_lengthp, int cell_list[])

  Returns a portion of the previous definition of a cellular volume, as referenced by a key.

  See also

  HC_Show_Shell()

  Parameters: | key – - Unique numeric identifier pointing to a shell in the database. poffset – - Index of the first vertex to be returned in the points list previously defined by Insert_Shell() . pcount – - Number of vertices to return to user in the points data structure. points – - Vector of x-y-z triplets for the coordinates of the vertices to be used to build the shell. (A simple N x 3 array may also be used.) Returned to caller. Passed by reference always. coffset – - Index of the first cell to be returned in the cells list previously defined by Insert_Cellular_Volume. ccount – - Number of cells to return to user in the cell_list data structure. clist_length – - Total number of integers in cell_list. Returned to caller. Passed by reference always. cell_list – - Encoded description of how to connect the points to build the faces of the shell. Returned to caller. Passed by reference always.

void `HC_DShow_Partial_Cell_Vol`(Key key, int poffset, int pcount, DPoint points[], int coffset, int ccount, int *cell_list_lengthp, int cell_list[])

void `HC_Show_Partial_Cell_Vol_Size`(Key key, int coffset, int ccount, int *clist_length)

  Finds the size of a portion of a cellular volume. This is useful in determining the size of the data structure that must hold the cell_list array in Show_Partial_Cellular_Volume().

  See also

  HC_Show_Shell()

  Parameters: | key – - Unique numeric identifier pointing to a shell in the database. coffset – - Index of the first face to be returned in the faces list previously defined by Insert_Cellular_Colume. ccount – - Number of faces to return to user in the face_list data structure. clist_length – - Total number of integers in face_list. Returned to caller. Passed by reference always.

void `HC_Show_Cell_Vol_Part_Pgon_Cnt`(Key key, int offset, int count, int *polygon_countp)

  Returns the number of defined polygons in the cellular volume.

  See also

  HC_Show_Cellular_Volume()

  Parameters: | key – - Unique numeric identifier pointing to a Cellular volume in the database. offset – - index of first cell position to consider (zero will include polygons before the actual first cell). count – - the maximum numver of cells to consider while looking for polygons. cell_count – - Number of polygons in the specified portion of the cellular volume. Returned to caller. Passed by reference always.

void `HC_Delete_Spec_Cell_Vol_Cells`(Key key, int count, int const indices[])

  Removes particular cells from the cell list of a particular cellular volume.

  See also

  HC_Delete_Specific_Cellular_Volume_Points, HC_Edit_Cellular_Volume_Cells, HC_Edit_Cellular_Volume_Points

  DETAILS
    This function allows users to quickly remove cells from a particular cellular volume. Please note that the indices provided are not indices into the cell list directly, but rather they are the indices of the cells within the volumes.

  Parameters: | key – - Key to the volume from which the cells should be removed. count – - Number of cells that will be removed. indices – - The indices of the particular cells within the cell list that are to be removed.

void `HC_Delete_Spec_Cell_Vol_Points`(Key key, int count, int const indices[])

  Removes a particular point or points from the point list of a particular cellular volume.

  See also

  HC_Delete_Specific_Cellular_Volume_Cells, HC_Edit_Cellular_Volume_Cells, HC_Edit_Cellular_Volume_Points

  DETAILS
    This function allows users to quickly remove points from a particular cellular volume.

  Parameters: | key – - Key to the volume from which the points should be removed. count – - Number of points that will be removed. indices – - The indices of the particular points within the cell list that are to be removed.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize 3DF or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...