hc_experimental_proto.h
Macro Definitions
Types
Fields
Functions
void |
|
void |
|
void |
|
Key |
|
Key |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
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
-
enumerator HC_CELLULAR_VOLUME_SIMPLEX
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 colume 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.