The iapi.h contains the functions used to operate the interface. More...
#include <intfc/int.h>
Go to the source code of this file.
Functions | |
IMPORT void | I_MoveNodeToPoint (POINT *pt, CURVE *curve) |
For closed curve, move the node to the given point. Do nothing if curve is not a closed one or the point is not on curve. More... | |
IMPORT CURVE ** | I_SplitCurve (POINT *pt, CURVE *curve) |
Split a curve into two curves at the given point pt, return two curves as a pointer array. Return NULL if the point is not on the input curve. More... | |
IMPORT void | I_SmoothSurfColor (SURFACE *surf, int num_rounds) |
A utility function to smooth the color of the surface by averaging the color with neighboring triangles. More... | |
IMPORT SURFACE * | I_CopySurface (SURFACE *surf) |
This function return a copy of the input surface on the same interface structure. More... | |
IMPORT void | I_ShiftSurface (SURFACE *surf, double *displacement) |
This function shift each point of the surface by given displacement. More... | |
IMPORT SURFACE * | I_AddTwoSurfaces (SURFACE *surf1, SURFACE *surf2) |
This function add tris of surf2 to surf1, delete surf2 and return surf1, no other operations is performed. More... | |
IMPORT void | I_TransInteriorIntfcPoints (INTERFACE *intfc, double *displacement) |
This function makes translation of all interior points in the interface. More... | |
IMPORT void | I_SphericalRotatePoint (POINT *p, double *center, double phi, double theta, boolean first) |
IMPORT void | I_PolarRotatePoint (POINT *p, double *center, double phi, boolean first) |
IMPORT void | I_RotatePointAboutAxis (POINT *p, double *dir, double *axis, double phi) |
This function rotate the point about a line as axis. More... | |
IMPORT void | I_SphericalRotateInteriorIntfcPoints (INTERFACE *intfc, double *center, double phi, double theta) |
IMPORT void | I_SphericalRotateInteriorSurfPoints (SURFACE *surf, double *center, double phi, double theta) |
IMPORT void | I_SphericalRotateInteriorCurvePoints (CURVE *curve, double *center, double phi, double theta) |
IMPORT int | I_NumOfSurfInteriorPoints (SURFACE *surf) |
This function count number of interior points on the surface boundary (on curve or node) points are not included. More... | |
IMPORT int | I_NumOfCurveInteriorPoints (CURVE *curve) |
This function count number of interior points on the curve boundary (on node) points are not included. More... | |
IMPORT void | I_FoldSurface (SURFACE *surf, double *dir, double *axis, double angle, SIDE side, boolean first) |
This function fold the surface around the axis described by dir (direction) and axis (a point on the axis) with input angle. Only points on the input side of the axis will be rotated. The function does its job of the surface is flat and axis is a line on the surface. More... | |
IMPORT boolean | I_SewSurface (SURFACE *surf, double *crds_start, double *crds_end) |
This function switches the surface along a line segment starting from crds_start to crds_end. The sewing line must be along existing curves with tolerance, else return NO. More... | |
IMPORT int | I_NumOfIntfcCurves (INTERFACE *intfc) |
This function count number of curves in the interface structure. It returns an integer for total number of curves. More... | |
IMPORT int | I_NumOfIntfcSurfaces (INTERFACE *intfc) |
This function count number of surfaces in the interface structure. It returns an integer for total number of surfaces. More... | |
IMPORT int | I_NumOfIntfcNodes (INTERFACE *intfc) |
This function count number of nodes in the interface structure. It returns an integer for total number of nodes. More... | |
IMPORT int | I_NumOfNodeCurves (NODE *node) |
This function count number of curves attached to the node, including both in_curves and out_curves. More... | |
IMPORT int | I_NumOfCurveSurfaces (CURVE *curve) |
This function count number of surfaces attached to the curve, including both pos_surfaces and neg_surfaces. More... | |
IMPORT int | I_ComponentAtCoords (double *coords, INTERFACE *intfc) |
This function is a topological function which returns the component index at the input coordinates. More... | |
IMPORT int | I_NumOfIntfcBonds (INTERFACE *intfc) |
This function count number of bonds on the entire interface. More... | |
IMPORT int | I_NumOfIntfcPoints (INTERFACE *intfc) |
This function count number of point on the entire interface. More... | |
IMPORT int | I_NumOfCurveBonds (CURVE *curve) |
This function count number of bond on a curve. More... | |
IMPORT int | I_NumOfCurvePoints (CURVE *curve) |
This function count number of point on the curve including its nodes (closed node may be counted twice). More... | |
IMPORT void | I_ArrayOfCurves (INTERFACE *intfc, CURVE **curves) |
This function put all curves in the interface to an array, assuming the memory of the pointer array has already been allocated. More... | |
IMPORT void | I_ArrayOfSurfaces (INTERFACE *intfc, SURFACE **surfs) |
This function put all surfaces in the interface to an array, assuming the memory of the pointer array has already been allocated. More... | |
IMPORT int | I_NumOfIntfcTris (INTERFACE *intfc) |
This function count number of triangles on the entire interface. More... | |
IMPORT int | I_NumOfSurfTris (SURFACE *surf) |
This function count number of triangles on the surface. More... | |
IMPORT int | I_NumOfSurfPoints (SURFACE *surf) |
This function count number of points on the surface. More... | |
IMPORT int | I_NumOfSurfaces (INTERFACE *intfc) |
This function returns number of surfaces on the interface. More... | |
IMPORT void | I_ArrayOfIntfcCurves (INTERFACE *intfc, CURVE **curve_array) |
This function put all the handles (pointers) of curves in the intfc to an array (already allocated with memory) curve_array. More... | |
IMPORT void | I_ArrayOfCurvePoints (CURVE *curve, POINT **point_array) |
This function put all the handles (pointers) of points on the curve to an array (already allocated with memory) point_array. More... | |
IMPORT void | I_ArrayOfNodeCurves (NODE *node, CURVE **curve_array) |
This function put all the handles (pointers) of curves on the node to an array (already allocated with memory) curve_array. More... | |
IMPORT void | I_ArrayOfCurveBonds (CURVE *curve, BOND **bond_array) |
This function put all the handles (pointers) of bonds on the curve to an array (already allocated with memory) bond_array. More... | |
IMPORT void | I_ArrayOfSurfPoints (SURFACE *surf, POINT **point_array) |
This function put all the handles (pointers) of points on the surface to an array (already allocated with memory) point_array. More... | |
IMPORT void | I_ArrayOfSurfCurves (SURFACE *surf, CURVE **curve_array) |
This function put all the handles (pointers) of curves on the surface to an array (already allocated with memory) curve_array. More... | |
IMPORT int | I_NumOfSurfCurves (SURFACE *surf) |
This function count and return number of curves on the surface. More... | |
IMPORT int | I_FirstRingTrisAroundPoint (POINT *p, TRI *tri, TRI ***tris) |
This function searches for triangles in the first ring around the input point p, and return the number of tris in the first ring. More... | |
IMPORT CURVE * | I_CurveOfPoint (INTERFACE *intfc, POINT *point, BOND **bond) |
This function looks for the curve on which the point is located. If found, it will return the handle (pointer) of the curve, otherwise it will return NULL. More... | |
IMPORT NODE * | I_NodeOfPoint (INTERFACE *intfc, POINT *point) |
This function looks for the node on which the point is located. If found, it will return the handle (pointer) of the node, otherwise it will return NULL. More... | |
The iapi.h contains the functions used to operate the interface.