#include <stdlib.h>
#include <stdarg.h>
#include "rf_base_interface.h"
#include "sharable.h"
Go to the source code of this file.
Compounds | |
| class | str_domain_interface |
| class | vertex_interface |
| class | vertex_handle |
| class | element_interface |
| class | element_handle |
| struct | match_face_str |
| struct | rf_mesh_newnum |
| struct | rf_two_newnum |
| struct | RFMergeVtx |
| class | rf_mesh_interface |
Typedefs | |
| typedef sharable_pointer<vertex_interface> | __vertex_handle |
| Handle to vertices. | |
| typedef int (* | enum_face_int_func )(rf_mesh_interface *mi, vertex_handle *vv, int nv, void* data) |
| Enumerate faces of an element. More... | |
| typedef int (* | enum_face_int_vtx_func )(rf_mesh_interface *mi, const int *vtxs, int nv, void* data) |
| Enumerate faces of an element. More... | |
| typedef int (* | enum_edge_int_func )(rf_mesh_interface *mi, vertex_handle *vv, int nv, void* data) |
| Enumerate edges of an element. More... | |
| typedef sharable_pointer<element_interface> | __element_handle |
| Handle to elements. | |
| typedef type_allocator<RFMergeVtx, 100> | RFMergeVtxList |
| List of nodes to merge. | |
| typedef sharable_pointer<str_domain_interface> | str_domain_handle |
| Abstract handle to a structured domain interface. | |
| typedef type_allocator<str_domain_handle, 10> | strdomain_handle_list |
| List of structured domains. | |
| typedef type_allocator<vertex_handle, 100> | vertex_handle_list |
| List of vertices. | |
| typedef type_allocator<element_handle, 100> | element_handle_list |
| List of elements. | |
| typedef int (* | enum_vertex_int_func )(rf_mesh_interface *mi, vertex_handle& v, void* data) |
| Callback function that is invoked when enumerating vertices. More... | |
| typedef int (* | enum_element_int_func )(rf_mesh_interface *mi, element_handle& ele, void* data) |
| Callback function that is invoked when enumerating elements. More... | |
| typedef sharable_pointer<rf_mesh_interface> | rf_mesh_handle |
| Handle to a mesh interface. | |
Functions | |
| void ExportedByResultlib | rfmi_sort_face (int nv, int *vv) |
| |
| float ExportedByResultlib | rf_min_dist (const float loc[3], const float edge[2][3], float point[3], int snap) |
| Compute the minimum distance between the point loc and the line specified by edge. More... | |
| double ExportedByResultlib | rf_min_dist (const double loc[3], const double edge[2][3], double point[3], int snap) |
| template<classT, classT1, classT2> void | rf_vector (const T loc0[3], const T1 loc1[3], T2 vec[3]) |
| Create a vector from loc0 to loc1. More... | |
| template<classT1, classT2> double | rf_vector_dot (const T1 v1[3], const T2 v2[3]) |
| Compute dot product between two vectors. More... | |
| template<classT> double | rf_vector_magnitude (const T v[3]) |
| Compute magnitude of a vector by taking the sqrt of the dot product of itself. More... | |
| template<classT> int | rf_vector_normalize (T v[3]) |
| Normalize vector by dividing by magnitude. More... | |
| template<classT, classT1, classT2> void | rf_vector_cross (const T v1[3], const T1 v2[3], T2 vec[3]) |
| Take the cross product between vectors. More... | |
| template<classT, classT1, classT2, classT3, classT4> void | rf_vector_linear (const T& lam1, const T1 v1[3], const T2& lam2, const T3 v2[3], T4 vec[3]) |
| Take linear combination of vectors. More... | |
| template<classT, classT1, classT2> void | rf_vector_add (const T v1[3], const T1 v2[3], T2 vec[3]) |
| Addition of two vectors. More... | |
| template<classT, classT1, classT2> void | rf_vector_sub (const T v1[3], const T1 v2[3], T2 vec[3]) |
| Subtraction of two vectors. More... | |
| template<classT, classT1> double | rf_distance_squared (const T v_loc[3], const T1 loc[3]) |
| Compute distance^2 between v_loc and loc. More... | |
| template<classT, classT1> double | rf_distance (const T v_loc[3], const T1 loc[3]) |
| Compute distance between v_loc and loc. More... | |
| template<classT> T | rf_tri_area (const T p0[3], const T p1[3], const T p2[3]) |
| Compute the area of triangle. More... | |
| template<classT> T | rf_quad_area (const T p0[3], const T p1[3], const T p2[3], const T p3[3]) |
| QUAD in Z pattern. More... | |
The frontend implementation describes how the user makes new backend implementations, and new structured and unstructured meshes.
Users define connectivity relative to NASTRAN order. The NASTRAN element, face and edge definitions can be found at this web address http://www.grc.nasa.gov/WWW/cgns/sids/conv.html
Copyright (c) 2000 ICEMCFD Engineering Copyright (c) 2001-2002 ICEMCFD Engineering as subsidary of ANSYS
|
|
Enumerate faces of an element. Pass array of vertex handles to callback function. If callback function returns 1, enumeration continues. If callback function return 0, enumeration stops. |
|
|
Enumerate faces of an element. Pass array of vertex indices to callback function. If callback function returns 1, enumeration continues. If callback function returns 0, enumeration stops. |
|
|
Enumerate edges of an element. Pass array of vertex handles to callback function. If callback function returns 1, enumeration continues. If callback function returns 0, enumeration stops. |
|
|
Callback function that is invoked when enumerating vertices. If callback function returns 1, enumeration continues. If callback function returns 0, enumeration stops. |
|
|
Callback function that is invoked when enumerating elements. If callback function returns 1, enumeration continues. If callback function returns 0, enumeration stops. |
|
|
Compute the minimum distance between the point loc and the line specified by edge. If snap set to 1, then the minimum distance will be to a valid point on the line segment. Otherwise, the line will be taken as having infinite extent.
|
|
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. |
|
||||||||
|
Create a vector from loc0 to loc1.
|
|
||||||
|
Compute dot product between two vectors.
|
|
||||
|
Compute magnitude of a vector by taking the sqrt of the dot product of itself.
|
|
||||
|
Normalize vector by dividing by magnitude. dot product of itself.
|
|
||||||||
|
Take the cross product between vectors.
|
|
||||||||||||
|
Take linear combination of vectors.
|
|
||||||||
|
Addition of two vectors.
|
|
||||||||
|
Subtraction of two vectors.
|
|
||||||
|
Compute distance^2 between v_loc and loc.
|
|
||||||
|
Compute distance between v_loc and loc.
|
|
||||||||
|
Compute the area of triangle. Only an approximation for quadratic elements. For more exact formulas for quadratic elements, use, for instance, shape function library.
|
|
||||||||||
|
QUAD in Z pattern. Sums area of two triangles.
|
1.2.0 written by Dimitri van Heesch,
© 1997-2000