A class enabling Mesquite calls on Rocmop panes. More...
#include <MesqPane.h>
Classes | |
struct | tag |
A tag structure required by Mesquite. More... | |
struct | tagStruct |
Public Types | |
typedef void * | EntityHandle |
Opaque EntityHandle type and tag type. More... | |
typedef void * | TagHandle |
typedef EntityHandle | VertexHandle |
typedef EntityHandle | ElementHandle |
typedef void * | EntityHandle |
Opaque EntityHandle type and tag type. More... | |
typedef void * | TagHandle |
typedef EntityHandle | VertexHandle |
typedef EntityHandle | ElementHandle |
Public Types inherited from Mesh | |
enum | TagType { BYTE, BOOL, INT, DOUBLE, HANDLE } |
The type of a tag. More... | |
typedef void * | EntityHandle |
Opaque EntityHandle type and tag type. More... | |
typedef EntityHandle | VertexHandle |
typedef EntityHandle | ElementHandle |
Public Member Functions | |
void | invert (int conn_type) |
Invert Elements. More... | |
MesqPane (COM::Pane *p, bool with_ghost=true) | |
Construct from a pane. More... | |
void | set_verb (int verb) |
Set the MesqPane verbose level (int, >= 0) More... | |
virtual | ~MesqPane () |
Destructor. More... | |
void | init () |
Initialize the MesqPane. More... | |
virtual int | get_geometric_dimension (MsqError &err) |
Returns whether this mesh lies in a 2D or 3D coordinate system. More... | |
virtual void | get_all_elements (msq_std::vector< ElementHandle > &elements, MsqError &err) |
Get all elements in mesh. More... | |
virtual void | get_all_vertices (msq_std::vector< VertexHandle > &vertices, MsqError &err) |
Get all vertices in mesh. More... | |
virtual void | get_all_sizes (size_t &vertex_count, size_t &element_count, size_t &vertex_use_count, MsqError &err) |
get sizes for calling get_all_mesh More... | |
virtual void | get_all_mesh (VertexHandle *vert_array, size_t vert_len, ElementHandle *elem_array, size_t elem_len, size_t *elem_conn_offsets, size_t offset_len, size_t *elem_conn_indices, size_t index_len, MsqError &err) |
Get entities and connectivity. More... | |
virtual VertexIterator * | vertex_iterator (MsqError &err) |
Returns a pointer to an iterator that iterates over the set of all vertices in this mesh. More... | |
virtual ElementIterator * | element_iterator (MsqError &err) |
Returns a pointer to an iterator that iterates over the set of all top-level elements in this mesh. More... | |
virtual void | vertices_get_fixed_flag (const VertexHandle vert_array[], bool fixed_flag_array[], size_t num_vtx, MsqError &err) |
Returns true or false, indicating whether the vertex is allowed to be repositioned. More... | |
virtual bool | vertex_is_fixed (VertexHandle vertex, MsqError &err) |
Returns true or false, indicating whether the vertex is allowed to be repositioned. More... | |
virtual void | vertices_are_on_boundary (VertexHandle vert_array[], bool on_bnd[], size_t num_vtx, MsqError &err) |
Returns true or false, indicating whether the vertex is on the boundary. More... | |
virtual void | vertices_get_coordinates (const VertexHandle vert_array[], MsqVertex *coordinates, size_t num_vtx, MsqError &err) |
Get/set location of a vertex. More... | |
virtual void | vertex_set_coordinates (VertexHandle vertex, const Vector3D &coordinates, MsqError &err) |
virtual void | vertex_set_byte (VertexHandle vertex, unsigned char byte, MsqError &err) |
Each vertex has a byte-sized flag that can be used to store flags. More... | |
virtual void | vertices_set_byte (VertexHandle *vert_array, unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual void | vertices_set_byte (const VertexHandle *vert_array, const unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual void | vertex_get_byte (VertexHandle vertex, unsigned char *byte, MsqError &err) |
Retrieve the byte value for the specified vertex or vertices. More... | |
virtual void | vertices_get_byte (VertexHandle *vertex, unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual void | vertices_get_byte (const VertexHandle *vertex, unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual size_t | vertex_get_attached_element_count (VertexHandle vertex, MsqError &err) |
Gets the number of elements attached to this vertex. More... | |
virtual void | vertex_get_attached_elements (VertexHandle vertex, ElementHandle *elem_array, size_t sizeof_elem_array, MsqError &err) |
Gets the elements attached to this vertex. More... | |
virtual void | vertices_get_attached_elements (const VertexHandle *vertex_array, size_t num_vertex, msq_std::vector< ElementHandle > &elements, msq_std::vector< size_t > &offsets, MsqError &err) |
get elements adjacent to vertices More... | |
virtual size_t | element_get_attached_vertex_count (ElementHandle elem, MsqError &err) |
Gets the number of vertices in this element. More... | |
virtual size_t | get_vertex_use_count (ElementHandle *handle_array, size_t num_handles, MsqError &err) |
virtual void | elements_get_attached_vertices (const ElementHandle *elem_handles, size_t num_elems, msq_std::vector< VertexHandle > &vert_handles, msq_std::vector< size_t > &offsets, MsqError &err) |
Get element connectivity. More... | |
virtual void | elements_get_attached_vertices (ElementHandle *elem_handles, size_t num_elems, VertexHandle *vert_handles, size_t &sizeof_vert_handles, size_t *csr_data, size_t &sizeof_csr_data, size_t *csr_offsets, MsqError &err) |
Returns the vertices that are part of the topological definition of each element in the "elem_handles" array. More... | |
virtual EntityTopology | element_get_topology (ElementHandle entity_handle, MsqError &err) |
Returns the topology of the given entity. More... | |
virtual void | elements_get_topologies (ElementHandle *element_handle_array, EntityTopology *element_topologies, size_t num_elements, MsqError &err) |
Returns the topologies of the given entities. More... | |
virtual void | elements_get_topologies (const ElementHandle *element_handle_array, EntityTopology *element_topologies, size_t num_elements, MsqError &err) |
Returns the topologies of the given entities. More... | |
virtual TagHandle | tag_create (const msq_std::string &tag_name, TagType type, unsigned length, const void *default_value, MsqError &err) |
Create a tag. More... | |
virtual void | tag_delete (TagHandle handle, MsqError &err) |
Remove a tag and all corresponding data. More... | |
virtual TagHandle | tag_get (const msq_std::string &name, MsqError &err) |
Get handle for existing tag, by name. More... | |
virtual void | tag_properties (TagHandle handle, msq_std::string &name_out, TagType &type_out, unsigned &length_out, MsqError &err) |
Get properites of tag. More... | |
virtual void | tag_set_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, const void *tag_data, MsqError &err) |
Set tag values on elements. More... | |
virtual void | tag_set_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, const void *tag_data, MsqError &err) |
Set tag values on vertices. More... | |
virtual void | tag_get_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, void *tag_data, MsqError &err) |
Get tag values on elements. More... | |
virtual void | tag_get_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, void *tag_data, MsqError &err) |
Get tag values on vertices. More... | |
virtual void | release_entity_handles (const EntityHandle *handle_array, size_t num_handles, MsqError &err) |
Tells the mesh that the client is finished with a given entity handle. More... | |
virtual void | release_entity_handles (EntityHandle *handle_array, size_t num_handles, MsqError &err) |
Tells the mesh that the client is finished with a given entity handle. More... | |
virtual void | release () |
Instead of deleting a Mesh when you think you are done, call release(). More... | |
void | invert () |
Invert Tetrahedrons. More... | |
MesqPane (COM::Pane *p, bool with_ghost=true) | |
Construct from a pane. More... | |
void | set_verb (int verb) |
Set the MesqPane verbose level (int, >= 0) More... | |
virtual | ~MesqPane () |
Destructor. More... | |
void | init () |
Initialize the MesqPane. More... | |
virtual int | get_geometric_dimension (MsqError &err) |
Returns whether this mesh lies in a 2D or 3D coordinate system. More... | |
virtual void | get_all_sizes (size_t &vertex_count, size_t &element_count, size_t &vertex_use_count, MsqError &err) |
get sizes for calling get_all_mesh More... | |
virtual void | get_all_mesh (VertexHandle *vert_array, size_t vert_len, ElementHandle *elem_array, size_t elem_len, size_t *elem_conn_offsets, size_t offset_len, size_t *elem_conn_indices, size_t index_len, MsqError &err) |
Get entities and connectivity. More... | |
virtual VertexIterator * | vertex_iterator (MsqError &err) |
Returns a pointer to an iterator that iterates over the set of all vertices in this mesh. More... | |
virtual ElementIterator * | element_iterator (MsqError &err) |
Returns a pointer to an iterator that iterates over the set of all top-level elements in this mesh. More... | |
virtual bool | vertex_is_fixed (VertexHandle vertex, MsqError &err) |
Returns true or false, indicating whether the vertex is allowed to be repositioned. More... | |
virtual void | vertices_are_on_boundary (VertexHandle vert_array[], bool on_bnd[], size_t num_vtx, MsqError &err) |
Returns true or false, indicating whether the vertex is on the boundary. More... | |
virtual void | vertices_get_coordinates (const VertexHandle vert_array[], MsqVertex *coordinates, size_t num_vtx, MsqError &err) |
Get/set location of a vertex. More... | |
virtual void | vertex_set_coordinates (VertexHandle vertex, const Vector3D &coordinates, MsqError &err) |
virtual void | vertex_set_byte (VertexHandle vertex, unsigned char byte, MsqError &err) |
Each vertex has a byte-sized flag that can be used to store flags. More... | |
virtual void | vertices_set_byte (VertexHandle *vert_array, unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual void | vertex_get_byte (VertexHandle vertex, unsigned char *byte, MsqError &err) |
Retrieve the byte value for the specified vertex or vertices. More... | |
virtual void | vertices_get_byte (VertexHandle *vertex, unsigned char *byte_array, size_t array_size, MsqError &err) |
virtual size_t | vertex_get_attached_element_count (VertexHandle vertex, MsqError &err) |
Gets the number of elements attached to this vertex. More... | |
virtual void | vertex_get_attached_elements (VertexHandle vertex, ElementHandle *elem_array, size_t sizeof_elem_array, MsqError &err) |
Gets the elements attached to this vertex. More... | |
virtual size_t | element_get_attached_vertex_count (ElementHandle elem, MsqError &err) |
Gets the number of vertices in this element. More... | |
virtual size_t | get_vertex_use_count (ElementHandle *handle_array, size_t num_handles, MsqError &err) |
virtual void | elements_get_attached_vertices (ElementHandle *elem_handles, size_t num_elems, VertexHandle *vert_handles, size_t &sizeof_vert_handles, size_t *csr_data, size_t &sizeof_csr_data, size_t *csr_offsets, MsqError &err) |
Returns the vertices that are part of the topological definition of each element in the "elem_handles" array. More... | |
virtual EntityTopology | element_get_topology (ElementHandle entity_handle, MsqError &err) |
Returns the topology of the given entity. More... | |
virtual void | elements_get_topologies (ElementHandle *element_handle_array, EntityTopology *element_topologies, size_t num_elements, MsqError &err) |
Returns the topologies of the given entities. More... | |
virtual TagHandle | tag_create (const msq_std::string &tag_name, TagType type, unsigned length, const void *default_value, MsqError &err) |
Create a tag. More... | |
virtual void | tag_delete (TagHandle handle, MsqError &err) |
Remove a tag and all corresponding data. More... | |
virtual TagHandle | tag_get (const msq_std::string &name, MsqError &err) |
Get handle for existing tag, by name. More... | |
virtual void | tag_properties (TagHandle handle, msq_std::string &name_out, TagType &type_out, unsigned &length_out, MsqError &err) |
Get properites of tag. More... | |
virtual void | tag_set_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, const void *tag_data, MsqError &err) |
Set tag values on elements. More... | |
virtual void | tag_set_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, const void *tag_data, MsqError &err) |
Set tag values on vertices. More... | |
virtual void | tag_get_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, void *tag_data, MsqError &err) |
Get tag values on elements. More... | |
virtual void | tag_get_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, void *tag_data, MsqError &err) |
Get tag values on vertices. More... | |
virtual void | release_entity_handles (EntityHandle *handle_array, size_t num_handles, MsqError &err) |
Tells the mesh that the client is finished with a given entity handle. More... | |
virtual void | release () |
Instead of deleting a Mesh when you think you are done, call release(). More... | |
Constructors and Destructors | |
MesqPane (COM::Pane *p, bool with_ghost=true) | |
Construct from a pane. More... | |
virtual | ~MesqPane () |
Destructor. More... | |
Miscellaneous functions | |
void | invert () |
Invert Tetrahedrons. More... | |
void | init () |
Initialize the MesqPane. More... | |
void | set_verb (int verb) |
Set the MesqPane verbose level (int, >= 0) More... | |
Inherited Operations on Entire Mesh | |
virtual int | get_geometric_dimension (MsqError &err) const |
Returns whether this mesh lies in a 2D or 3D coordinate system. More... | |
virtual size_t | get_total_vertex_count (MsqError &err) const |
Returns the number of nodes. More... | |
virtual size_t | get_total_element_count (MsqError &err) const |
Returns the number of elements. More... | |
virtual void | get_all_vertices (VertexHandle *vert_array, size_t array_size, MsqError &err) |
Fills array with handles to all vertices. More... | |
virtual void | get_all_elements (ElementHandle *elem_array, size_t array_size, MsqError &err) |
Fills array with handles to all elements in the mesh. More... | |
virtual VertexIterator * | vertex_iterator (MsqError &err) |
Returns a pointer to a vertex iterator over this Pane. More... | |
virtual ElementIterator * | element_iterator (MsqError &err) |
Returns a pointer to an element iterator over this Pane. More... | |
Inherited vertex Properties | |
virtual bool | vertex_is_fixed (VertexHandle vertex, MsqError &err) |
Tells wheter the vertex is allowed to be repositioned. More... | |
virtual void | vertices_are_on_boundary (VertexHandle vert_array[], bool on_bnd[], size_t num_vtx, MsqError &err) |
Tells whether the vertex is on the boundary. More... | |
virtual void | vertices_get_coordinates (VertexHandle vert_array[], Mesquite::MsqVertex *const &coordinates, const size_t &num_vtx, MsqError &err) |
Get the location of a vertex. More... | |
virtual void | vertex_set_coordinates (VertexHandle vertex, const Vector3D &coordinates, MsqError &err) |
Set the Location of a vertex. More... | |
virtual void | vertex_set_byte (VertexHandle vertex, unsigned char byte, MsqError &err) |
Set a vertex flag. More... | |
virtual void | vertices_set_byte (VertexHandle *vert_array, unsigned char *byte_array, size_t array_size, MsqError &err) |
Set mutliple vertex flags. More... | |
virtual void | vertex_get_byte (VertexHandle vertex, unsigned char *byte, MsqError &err) |
Retrieve the byte value for the specified vertex. More... | |
virtual void | vertices_get_byte (VertexHandle *vertex, unsigned char *byte_array, size_t array_size, MsqError &err) |
Retrieve the byte value for the specified vertices. More... | |
Inherited Vertex Topology | |
virtual size_t | vertex_get_attached_element_count (VertexHandle vertex, MsqError &err) const |
Gets the number of elements attached to this vertex. More... | |
virtual void | vertex_get_attached_elements (VertexHandle vertex, ElementHandle *elem_array, size_t sizeof_elem_array, MsqError &err) |
Gets the elements attached to this vertex. More... | |
Inherited Element Topology | |
virtual size_t | element_get_attached_vertex_count (ElementHandle elem, MsqError &err) const |
Gets the number of vertices in this element. More... | |
virtual void | elements_get_attached_vertices (ElementHandle *elem_handles, size_t num_elems, VertexHandle *vert_handles, size_t &sizeof_vert_handles, size_t *csr_data, size_t &sizeof_csr_data, size_t *csr_offsets, MsqError &err) |
Returns vertices which are part of each element in the "elem_handles" array. More... | |
virtual void | elements_get_attached_vertex_indices (ElementHandle element[], size_t num_elems, size_t index_array[], size_t array_size, size_t *offsets, MsqError &err) |
Return each vertex's global index. More... | |
virtual EntityTopology | element_get_topology (ElementHandle entity_handle, MsqError &err) const |
Returns the topology of the given entity. More... | |
virtual void | elements_get_topologies (ElementHandle *element_handle_array, EntityTopology *element_topologies, size_t num_elements, MsqError &err) |
Returns the topologies of the given entities. More... | |
Inherited Tags | |
virtual void | element_tag_create (const string tag_name, int tag_size, TagHandle &tag_handle, MsqError &err) |
Add a new tag with given name and size to the dense tag map. More... | |
virtual void * | tag_get_handle (const string tag_name, MsqError &err) |
Returns the tag handle corresponding to the string. More... | |
virtual void | elements_set_tag_data (const size_t num_elements, const TagHandle tag_handle, TagDataPt const tag_data_array, const int &tag_size, MsqError &err) |
Sets the Tag data pointers for an array of entities. More... | |
virtual void | elements_get_tag_data (const size_t num_elements, const TagHandle tag_handle, TagDataPt &tag_data_array, int &tag_size, MsqError &err) |
Gets the Tag data for an array of entities. More... | |
Inherited Memory Management | |
virtual void | release_entity_handles (EntityHandle *handle_array, size_t num_handles, MsqError &err) |
Tells the mesh that the client is finished with a given entity handle. More... | |
virtual void | release () |
Release a MesqPane from use. More... | |
Public Member Functions inherited from Mesh | |
virtual int | get_geometric_dimension (MsqError &err)=0 |
Returns whether this mesh lies in a 2D or 3D coordinate system. More... | |
virtual void | get_all_sizes (size_t &vertex_count, size_t &element_count, size_t &vertex_use_count, MsqError &err)=0 |
get sizes for calling get_all_mesh More... | |
virtual void | get_all_mesh (VertexHandle *vert_array, size_t vert_len, ElementHandle *elem_array, size_t elem_len, size_t *elem_conn_offsets, size_t offset_len, size_t *elem_conn_indices, size_t index_len, MsqError &err)=0 |
Get entities and connectivity. More... | |
virtual void | vertices_get_coordinates (const VertexHandle vert_array[], MsqVertex *coordinates, size_t num_vtx, MsqError &err)=0 |
Get/set location of a vertex. More... | |
virtual size_t | vertex_get_attached_element_count (VertexHandle vertex, MsqError &err)=0 |
Gets the number of elements attached to this vertex. More... | |
virtual size_t | element_get_attached_vertex_count (ElementHandle elem, MsqError &err)=0 |
Gets the number of vertices in this element. More... | |
virtual size_t | get_vertex_use_count (ElementHandle *handle_array, size_t num_handles, MsqError &err)=0 |
virtual EntityTopology | element_get_topology (ElementHandle entity_handle, MsqError &err)=0 |
Returns the topology of the given entity. More... | |
virtual TagHandle | tag_create (const msq_std::string &tag_name, TagType type, unsigned length, const void *default_value, MsqError &err)=0 |
Create a tag. More... | |
virtual void | tag_delete (TagHandle handle, MsqError &err)=0 |
Remove a tag and all corresponding data. More... | |
virtual TagHandle | tag_get (const msq_std::string &name, MsqError &err)=0 |
Get handle for existing tag, by name. More... | |
virtual void | tag_properties (TagHandle handle, msq_std::string &name_out, TagType &type_out, unsigned &length_out, MsqError &err)=0 |
Get properites of tag. More... | |
virtual void | tag_set_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, const void *tag_data, MsqError &err)=0 |
Set tag values on elements. More... | |
virtual void | tag_set_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, const void *tag_data, MsqError &err)=0 |
Set tag values on vertices. More... | |
virtual void | tag_get_element_data (TagHandle handle, size_t num_elems, const ElementHandle *elem_array, void *tag_data, MsqError &err)=0 |
Get tag values on elements. More... | |
virtual void | tag_get_vertex_data (TagHandle handle, size_t num_elems, const VertexHandle *node_array, void *tag_data, MsqError &err)=0 |
Get tag values on vertices. More... | |
Protected Attributes | |
COM::Pane * | _pane |
MAP::Pane_dual_connectivity * | _dc |
std::vector< bool > | _is_border |
std::vector< unsigned char > | _vertexBytes |
int | _verb |
bool | _with_ghost |
std::map< std::string, MesqPane::tag > | denseTags |
std::map< msq_std::string, tagStruct > | s_to_t |
Private Member Functions | |
size_t | vertices_in_topology (EntityTopology) |
size_t | vertices_in_topology (EntityTopology) |
size_t | vertices_in_topology (EntityTopology) |
Additional Inherited Members | |
Protected Member Functions inherited from Mesh | |
virtual | ~Mesh () |
Don't allow a Mesh to be deleted directly. More... | |
A class enabling Mesquite calls on Rocmop panes.
Type used to refer to a tag defintion.
Mesquite's Mesh base class defines an interface which allows Mesquite to interact with non-native mesh types. MesqPane is an implementation of this class which enables Mesquite to use a Roccom Pane as an input mesh.
Definition at line 95 of file MesqPane.h.
typedef EntityHandle ElementHandle |
Definition at line 108 of file MesqPane_1_1.h.
typedef EntityHandle ElementHandle |
Definition at line 109 of file MesqPane_95.h.
typedef void* EntityHandle |
Opaque EntityHandle type and tag type.
Definition at line 100 of file MesqPane_1_1.h.
typedef void* EntityHandle |
Opaque EntityHandle type and tag type.
Definition at line 101 of file MesqPane_95.h.
typedef void* TagHandle |
Definition at line 101 of file MesqPane_1_1.h.
typedef void* TagHandle |
Definition at line 102 of file MesqPane_95.h.
typedef EntityHandle VertexHandle |
Definition at line 107 of file MesqPane_1_1.h.
typedef EntityHandle VertexHandle |
Definition at line 108 of file MesqPane_95.h.
|
inline |
Construct from a pane.
Build a MesqPane for the given Pane either on all nodes and elements, or just on real nodes and elements.
p | the Pane whose mesh we would like to smooth. |
with_ghost | use ghost nodes and cells? |
Definition at line 113 of file MesqPane.h.
|
virtual |
|
inline |
Construct from a pane.
Build a MesqPane for the given Pane either on all nodes and elements, or just on real nodes and elements.
p | the Pane whose mesh we would like to smooth. |
with_ghost | use ghost nodes and cells? |
Definition at line 127 of file MesqPane_1_1.h.
|
virtual |
Destructor.
|
inline |
Construct from a pane.
Build a MesqPane for the given Pane either on all nodes and elements, or just on real nodes and elements.
p | the Pane whose mesh we would like to smooth. |
with_ghost | use ghost nodes and cells? |
Definition at line 127 of file MesqPane_95.h.
|
virtual |
Destructor.
|
virtual |
Gets the number of vertices in this element.
This data can also be found by querying the element's topology and getting the number of vertices per element for that topology type.
|
virtual |
|
virtual |
Gets the number of vertices in this element.
This data can also be found by querying the element's topology and getting the number of vertices per element for that topology type.
Definition at line 487 of file MesqPane_1_1.C.
|
virtual |
Returns the topology of the given entity.
|
virtual |
Returns the topology of the given entity.
Definition at line 454 of file MesqPane.C.
References COM_assertion_msg, Mesquite::HEXAHEDRON, Mesquite::QUADRILATERAL, Mesquite::TETRAHEDRON, and Mesquite::TRIANGLE.
|
virtual |
Returns the topology of the given entity.
Definition at line 606 of file MesqPane_1_1.C.
References COM_assertion_msg, Mesquite::HEXAHEDRON, Mesquite::PRISM, Mesquite::PYRAMID, Mesquite::QUADRILATERAL, Mesquite::TETRAHEDRON, and Mesquite::TRIANGLE.
|
virtual |
Returns a pointer to an element iterator over this Pane.
The calling code should delete the returned iterator when it is finished with it. If elements are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
Implements Mesh.
Definition at line 149 of file MesqPane.C.
|
virtual |
Returns a pointer to an iterator that iterates over the set of all top-level elements in this mesh.
The calling code should delete the returned iterator when it is finished with it. If elements are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
|
virtual |
Returns a pointer to an iterator that iterates over the set of all top-level elements in this mesh.
The calling code should delete the returned iterator when it is finished with it. If elements are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
Definition at line 235 of file MesqPane_1_1.C.
|
virtual |
Add a new tag with given name and size to the dense tag map.
Definition at line 497 of file MesqPane.C.
References MSQ_CHKERR, MesqPane::tag::pt, and MesqPane::tag::size.
|
virtual |
Return each vertex's global index.
Identifies the vertices attached to the elements by returning each vertex's global index. The vertex's global index indicates where that vertex can be found in the array returned by get_all_vertices()
elems | Array of element handles. |
num_elems | number of elements in the array elems |
index_array | Array containing the indexes of the elements vertices. Indexes can be repeated. |
index_array_size | indicates the size of index_array |
offsets | Has length num_elems+1. An array of offsets into the index_array that indicates where the indexes corresponding to an element start. First entry is 0. For example element, to get the vertex indices of elems[3], we look at the entries index_array[offsets[3]] to index_array[offsets[4]] . |
Definition at line 410 of file MesqPane.C.
|
virtual |
Returns the vertices that are part of the topological definition of each element in the "elem_handles" array.
When this function is called, the following must be true:
When this function returns, adjacency information will be stored in csr format:
As an example of how to use this data, you can get the handle of the first vertex in element #3 like this:
and the second vertex of element #3 like this:
|
virtual |
Returns vertices which are part of each element in the "elem_handles" array.
When this function is called, the following must be true:
When this function returns, adjacency information will be stored in csr format:
As an example of how to use this data, you can get the handle of the first vertex in element #3 like this:
and the second vertex of element #3 like this:
Implements Mesh.
Definition at line 358 of file MesqPane.C.
References COM_assertion_msg, i, and j.
|
virtual |
Get element connectivity.
Get the connectivity (ordered list of vertex handles) for each element in the input array.
elem_handles | The array of element handles for which to retrieve the connectivity list. |
num_elems | The length of elem_handles |
vert_handles | Array in which to place the vertex handles in each elements connectivity. |
offsets | For each element in elem_handles, the value in the same position in this array is the index into vert_handles at which the connectivity list for that element begins. |
Definition at line 511 of file MesqPane_1_1.C.
References i, j, nj, and swap().
|
virtual |
Returns the vertices that are part of the topological definition of each element in the "elem_handles" array.
When this function is called, the following must be true:
When this function returns, adjacency information will be stored in csr format:
As an example of how to use this data, you can get the handle of the first vertex in element #3 like this:
and the second vertex of element #3 like this:
Definition at line 556 of file MesqPane_1_1.C.
References COM_assertion_msg, i, and j.
|
virtual |
Gets the Tag data for an array of entities.
The implementation handles the pointers to the tag data, not the memory pointed to. This means that the implementation is not responsible for making sure the memory pointed to is valid.
The implementation handles the pointers to the tag data, not the memory pointed to. This means that the implementation is not responsible for making sure the memory pointed to is valid
Definition at line 560 of file MesqPane.C.
|
virtual |
Returns the topologies of the given entities.
The "entity_topologies" array must be at least "num_elements" in size.
|
virtual |
Returns the topologies of the given entities.
The "entity_topologies" array must be at least "num_elements" in size.
Implements Mesh.
Definition at line 485 of file MesqPane.C.
References i.
|
virtual |
Returns the topologies of the given entities.
The "entity_topologies" array must be at least "num_elements" in size.
Definition at line 643 of file MesqPane_1_1.C.
References i.
|
virtual |
Returns the topologies of the given entities.
The "entity_topologies" array must be at least "num_elements" in size.
Definition at line 655 of file MesqPane_1_1.C.
References i.
|
virtual |
Sets the Tag data pointers for an array of entities.
The memory pointed to is the reponsibility of the function caller, i.e. either the memory was obtained from entities_get_tag_data or the function caller allocated the memory and will keep it allocated as long as the tag pointer is set to that memory.
Definition at line 528 of file MesqPane.C.
|
virtual |
Get all elements in mesh.
Get the handles of every element in the active mesh.
Definition at line 166 of file MesqPane_1_1.C.
References i.
|
virtual |
Fills array with handles to all elements in the mesh.
elem_array | a pointer to the element handle array. |
array_size | Must be at least the number of elements. If less than the mesh number of elements, causes a run time error. |
Definition at line 127 of file MesqPane.C.
References COM_assertion_msg, and i.
|
virtual |
Get entities and connectivity.
Get vertex handles, element handles, and connectivty for active mesh. Use get_all_sizes to determine required array sizes.
vert_array | Array to store vertex handles in |
vert_len | Length of vert_array |
elem_array | Array to store element handles in |
elem_len | Length of elem_array |
elem_conn_offsets | Offsets into elem_conn_indices at which the connectivity data for each element begins. |
offset_len | Length of elem_conn_offsets. Should be elem_len + 1. |
elem_conn_indices | Indices into vert_array |
index_len | Length of elem_conn_indices. |
|
virtual |
Get entities and connectivity.
Get vertex handles, element handles, and connectivty for active mesh. Use get_all_sizes to determine required array sizes.
vert_array | Array to store vertex handles in |
vert_len | Length of vert_array |
elem_array | Array to store element handles in |
elem_len | Length of elem_array |
elem_conn_offsets | Offsets into elem_conn_indices at which the connectivity data for each element begins. |
offset_len | Length of elem_conn_offsets. Should be elem_len + 1. |
elem_conn_indices | Indices into vert_array |
index_len | Length of elem_conn_indices. |
Definition at line 190 of file MesqPane_1_1.C.
References COM_assertion_msg, i, j, and nj.
|
inlinevirtual |
get sizes for calling get_all_mesh
Get counts of entities in mesh.
vertex_count | - Number of vertices connected to active mesh |
element_count | - Number of elements in active mesh |
vertex_use_count | - Number of vertex uses (sum of the length of the connectivity list for all elements in active.) |
Definition at line 165 of file MesqPane_95.h.
|
inlinevirtual |
get sizes for calling get_all_mesh
Get counts of entities in mesh.
vertex_count | - Number of vertices connected to active mesh |
element_count | - Number of elements in active mesh |
vertex_use_count | - Number of vertex uses (sum of the length of the connectivity list for all elements in active.) |
Definition at line 181 of file MesqPane_1_1.h.
|
virtual |
Get all vertices in mesh.
Get the handles of every vertex in the active mesh
Definition at line 178 of file MesqPane_1_1.C.
References i.
|
virtual |
Fills array with handles to all vertices.
vert_array | a pointer to the vertex array to be filled. |
array_size | Must be at least the number of vertices. If less than the mesh number of vertices, causes a run time error. |
Definition at line 112 of file MesqPane.C.
References COM_assertion_msg, and i.
|
inlinevirtual |
Returns whether this mesh lies in a 2D or 3D coordinate system.
Definition at line 149 of file MesqPane_1_1.h.
|
inlinevirtual |
Returns whether this mesh lies in a 2D or 3D coordinate system.
Definition at line 149 of file MesqPane_95.h.
|
inlinevirtual |
Returns whether this mesh lies in a 2D or 3D coordinate system.
Definition at line 156 of file MesqPane.h.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
virtual |
void init | ( | ) |
Initialize the MesqPane.
Builds the dual connectivity, determines border nodes, and resizes data structures.
Definition at line 68 of file MesqPane.C.
References i.
void init | ( | ) |
Initialize the MesqPane.
Builds the dual connectivity, determines border nodes, and resizes data structures.
void init | ( | ) |
Initialize the MesqPane.
Builds the dual connectivity, determines border nodes, and resizes data structures.
void invert | ( | int | conn_type | ) |
Invert Elements.
Either inverts tetrahedrons by swapping the 2nd and 4th nodes in each element. Or inverts hexahedrons by swapping the 2nd and 4th nodes as well as the 6th and 8th.
Definition at line 85 of file MesqPane_1_1.C.
References i, j, nj, and offset().
void invert | ( | ) |
Invert Tetrahedrons.
Assumes that the connectivities of the Pane are all unstructured tetrahedral, and inverts the tetrahedrons by swapping the 2nd and 4th nodes in each element.
void invert | ( | ) |
Invert Tetrahedrons.
Assumes that the connectivities of the Pane are all unstructured tetrahedral, and inverts the tetrahedrons by swapping the 2nd and 4th nodes in each element.
Definition at line 45 of file MesqPane.C.
References i, j, nj, and offset().
Referenced by Rocmop::invert_elements(), and Rocmop::invert_tets().
|
virtual |
Release a MesqPane from use.
Instead of deleting a Mesh when you think you are done, call release(). In simple cases, the implementation could just call the destructor. More sophisticated implementations may want to keep the Mesh object to live longer than Mesquite is using it.
Implements Mesh.
Definition at line 593 of file MesqPane.C.
|
virtual |
|
virtual |
|
virtual |
Tells the mesh that the client is finished with a given entity handle.
Implements Mesh.
Definition at line 586 of file MesqPane.C.
|
virtual |
Tells the mesh that the client is finished with a given entity handle.
|
virtual |
Tells the mesh that the client is finished with a given entity handle.
Definition at line 1321 of file MesqPane_1_1.C.
|
virtual |
Tells the mesh that the client is finished with a given entity handle.
Definition at line 1314 of file MesqPane_1_1.C.
|
inline |
Set the MesqPane verbose level (int, >= 0)
Definition at line 133 of file MesqPane_1_1.h.
|
inline |
Set the MesqPane verbose level (int, >= 0)
Definition at line 133 of file MesqPane_95.h.
|
inline |
Set the MesqPane verbose level (int, >= 0)
Definition at line 144 of file MesqPane.h.
Referenced by Rocmop::smooth_mesquite().
|
virtual |
Create a tag.
Create a user-defined data type that can be attached to any element or vertex in the mesh. For an opaque or undefined type, use type=BYTE and length=sizeof(..).
tag_name | A unique name for the data object |
type | The type of the data |
length | Number of values per entity (1->scalar, >1 ->vector) |
default_value | Default value to assign to all entities - may be NULL |
|
virtual |
Create a tag.
Create a user-defined data type that can be attached to any element or vertex in the mesh. For an opaque or undefined type, use type=BYTE and length=sizeof(..).
tag_name | A unique name for the data object |
type | The type of the data |
length | Number of values per entity (1->scalar, >1 ->vector) |
default_value | Default value to assign to all entities - may be NULL |
Definition at line 679 of file MesqPane_1_1.C.
References COM_assertion_msg, MesqPane::tagStruct::edata, i, Mesquite::length(), and MesqPane::tagStruct::ndata.
|
virtual |
Remove a tag and all corresponding data.
Delete a tag.
|
virtual |
Remove a tag and all corresponding data.
Delete a tag.
Definition at line 812 of file MesqPane_1_1.C.
References COM_assertion_msg, if(), n, and v.
|
virtual |
Get handle for existing tag, by name.
Check for the existance of a tag given it's name and if it exists return a handle for it. If the specified tag does not exist, zero should be returned WITHOUT flagging an error.
|
virtual |
Get handle for existing tag, by name.
Check for the existance of a tag given it's name and if it exists return a handle for it. If the specified tag does not exist, zero should be returned WITHOUT flagging an error.
Definition at line 883 of file MesqPane_1_1.C.
|
virtual |
Get tag values on elements.
Get the value of a tag for a list of mesh elements.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of elements for which to get the tag value. |
tag_data | Return buffer in which to copy tag data, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
|
virtual |
Get tag values on elements.
Get the value of a tag for a list of mesh elements.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of elements for which to get the tag value. |
tag_data | Return buffer in which to copy tag data, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
Definition at line 1189 of file MesqPane_1_1.C.
|
virtual |
Returns the tag handle corresponding to the string.
Sets an error if the string is not recognised
Definition at line 515 of file MesqPane.C.
|
virtual |
Get tag values on vertices.
Get the value of a tag for a list of mesh vertices.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of vertices for which to get the tag value. |
tag_data | Return buffer in which to copy tag data, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
|
virtual |
Get tag values on vertices.
Get the value of a tag for a list of mesh vertices.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of vertices for which to get the tag value. |
tag_data | Return buffer in which to copy tag data, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
Definition at line 1256 of file MesqPane_1_1.C.
|
virtual |
Get properites of tag.
Get data type and number of values per entity for tag.
handle | Tag to get properties of. |
name_out | Passed back tag name. |
type_out | Passed back tag type. |
length_out | Passed back number of values per entity. |
|
virtual |
Get properites of tag.
Get data type and number of values per entity for tag.
handle | Tag to get properties of. |
name_out | Passed back tag name. |
type_out | Passed back tag type. |
length_out | Passed back number of values per entity. |
Definition at line 903 of file MesqPane_1_1.C.
References MesqPane::tag::size.
|
virtual |
Set tag values on elements.
Set the value of a tag for a list of mesh elements.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of elements for which to set the tag value. |
tag_data | Tag data for each element, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
|
virtual |
Set tag values on elements.
Set the value of a tag for a list of mesh elements.
handle | The tag |
num_elems | Length of elem_array |
elem_array | Array of elements for which to set the tag value. |
tag_data | Tag data for each element, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
Definition at line 926 of file MesqPane_1_1.C.
References COM_assertion_msg, i, if(), j, and v.
|
virtual |
Set tag values on vertices.
Set the value of a tag for a list of mesh vertices.
handle | The tag |
num_elems | Length of node_array |
node_array | Array of vertices for which to set the tag value. |
tag_data | Tag data for each element, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
|
virtual |
Set tag values on vertices.
Set the value of a tag for a list of mesh vertices.
handle | The tag |
num_elems | Length of node_array |
node_array | Array of vertices for which to set the tag value. |
tag_data | Tag data for each element, contiguous in memory. This data is expected to be num_elems*tag_length*sizeof(tag_type) bytes. |
Definition at line 1059 of file MesqPane_1_1.C.
References COM_assertion_msg, i, j, and v.
|
virtual |
Gets the number of elements attached to this vertex.
Useful to determine how large the "elem_array" parameter of the vertex_get_attached_elements() function must be.
|
virtual |
Gets the number of elements attached to this vertex.
Useful to determine how large the "elem_array" parameter of the vertex_get_attached_elements() function must be.
Definition at line 319 of file MesqPane.C.
|
virtual |
Gets the number of elements attached to this vertex.
Useful to determine how large the "elem_array" parameter of the vertex_get_attached_elements() function must be.
Definition at line 427 of file MesqPane_1_1.C.
|
virtual |
Gets the elements attached to this vertex.
|
virtual |
Gets the elements attached to this vertex.
Implements Mesh.
Definition at line 331 of file MesqPane.C.
References i.
|
virtual |
Gets the elements attached to this vertex.
Definition at line 439 of file MesqPane_1_1.C.
References i.
|
virtual |
Retrieve the byte value for the specified vertex or vertices.
The byte value is 0 if it has not yet been set via one of the *_set_byte() functions.
|
virtual |
Retrieve the byte value for the specified vertex.
The byte value is 0 if it has not yet been set via one of the _set_byte() functions.
Implements Mesh.
Definition at line 297 of file MesqPane.C.
References offset().
|
virtual |
Retrieve the byte value for the specified vertex or vertices.
The byte value is 0 if it has not yet been set via one of the *_set_byte() functions.
Definition at line 405 of file MesqPane_1_1.C.
References offset().
|
virtual |
Tells wheter the vertex is allowed to be repositioned.
True indicates that the vertex is fixed and cannot be moved. This flag is not modifiable by users of the Mesquite::Mesh interface.
Implements Mesh.
Definition at line 156 of file MesqPane.C.
References COM_assertion_msg.
|
virtual |
Returns true or false, indicating whether the vertex is allowed to be repositioned.
True indicates that the vertex is fixed and cannot be moved. Note that this is a read-only property; this flag can't be modified by users of the Mesquite::Mesh interface.
|
virtual |
Returns true or false, indicating whether the vertex is allowed to be repositioned.
True indicates that the vertex is fixed and cannot be moved. Note that this is a read-only property; this flag can't be modified by users of the Mesquite::Mesh interface.
Definition at line 252 of file MesqPane_1_1.C.
References COM_assertion_msg.
|
virtual |
Returns a pointer to a vertex iterator over this Pane.
The calling code should delete the returned iterator when it is finished with it. If vertices are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
Implements Mesh.
Definition at line 142 of file MesqPane.C.
|
virtual |
Returns a pointer to an iterator that iterates over the set of all vertices in this mesh.
The calling code should delete the returned iterator when it is finished with it. If vertices are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
|
virtual |
Returns a pointer to an iterator that iterates over the set of all vertices in this mesh.
The calling code should delete the returned iterator when it is finished with it. If vertices are added or removed from the Mesh after obtaining an iterator, the behavior of that iterator is undefined.
Definition at line 228 of file MesqPane_1_1.C.
|
virtual |
Each vertex has a byte-sized flag that can be used to store flags.
This byte's value is neither set nor used by the mesh implementation. It is intended to be used by Mesquite algorithms. Until a vertex's byte has been explicitly set, its value is 0.
|
virtual |
Set a vertex flag.
Each vertex has a byte-sized flag that can be used to store flags. This byte's value is neither set nor used by the Pane. It is intended to be used by Mesquite algorithms. Until a vertex's byte has been explicitly set, its value is 0.
vertex | a handle to the vertex in question. |
byte | the new flag value. |
Implements Mesh.
Definition at line 273 of file MesqPane.C.
References offset().
|
virtual |
Each vertex has a byte-sized flag that can be used to store flags.
This byte's value is neither set nor used by the mesh implementation. It is intended to be used by Mesquite algorithms. Until a vertex's byte has been explicitly set, its value is 0.
Definition at line 369 of file MesqPane_1_1.C.
References offset().
|
virtual |
|
virtual |
Set the Location of a vertex.
vertex | the vertex in question. |
coordinates | Mesquite's coordinates for this vertex. |
Implements Mesh.
Definition at line 244 of file MesqPane.C.
References Vector3D::get_coordinates(), and offset().
|
virtual |
Definition at line 340 of file MesqPane_1_1.C.
References offset().
|
virtual |
Tells whether the vertex is on the boundary.
Boundary nodes may be treated as a special case by some algorithms or culling methods. This flag is not modifiable by users of the Mesquite::Mesh interface.
Implements Mesh.
Definition at line 167 of file MesqPane.C.
References i.
|
virtual |
Returns true or false, indicating whether the vertex is on the boundary.
Boundary nodes may be treated as a special case by some algorithms or culling methods. Note that this is a read-only property; this flag can't be modified by users of the Mesquite::Mesh interface.
|
virtual |
Returns true or false, indicating whether the vertex is on the boundary.
Boundary nodes may be treated as a special case by some algorithms or culling methods. Note that this is a read-only property; this flag can't be modified by users of the Mesquite::Mesh interface.
Definition at line 263 of file MesqPane_1_1.C.
References i.
|
virtual |
get elements adjacent to vertices
Get adjacency data for vertices
vertex_array | Array of vertex handles specifying the list of vertices to retrieve adjacency data for. |
num_vertex | Number of vertex handles in vertex_array |
elements | The array in which to place the handles of elements adjacent to the input vertices. |
offsets | For each vertex in vertex_array, the value in the corresponding position in this array is the index into elem_array at which the adjacency list begins for that vertex. |
Definition at line 458 of file MesqPane_1_1.C.
|
virtual |
|
virtual |
Retrieve the byte value for the specified vertices.
The byte value is 0 if it has not yet been set via one of the _set_byte() functions.
Implements Mesh.
Definition at line 305 of file MesqPane.C.
|
virtual |
|
inlinevirtual |
Definition at line 303 of file MesqPane_1_1.h.
|
virtual |
Get/set location of a vertex.
|
virtual |
Get the location of a vertex.
vert_array | the array of vertex handles for this Pane. |
coordinates | Mesquite's array of vertex coordinates. |
num_vtx | number of vertices to process. |
Definition at line 186 of file MesqPane.C.
References COM_assertion_msg, COM_NC, COM_NC1, COM_NC2, COM_NC3, i, offset(), and Vector3D::set().
|
virtual |
Get/set location of a vertex.
Definition at line 282 of file MesqPane_1_1.C.
References COM_assertion_msg, COM_NC, COM_NC1, COM_NC2, COM_NC3, i, and offset().
|
virtual |
Returns true or false, indicating whether the vertex is allowed to be repositioned.
True indicates that the vertex is fixed and cannot be moved. Note that this is a read-only property; this flag can't be modified by users of the Mesquite::Mesh interface.
Definition at line 242 of file MesqPane_1_1.C.
References i.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
virtual |
|
virtual |
Set mutliple vertex flags.
Each vertex has a byte-sized flag that can be used to store flags. This byte's value is neither set nor used by the Pane. It is intended to be used by Mesquite algorithms. Until a vertex's byte has been explicitly set, its value is 0.
vert_array | handles to the vertices in question. |
byte | the new flag value. |
Implements Mesh.
Definition at line 283 of file MesqPane.C.
|
virtual |
|
virtual |
|
protected |
Definition at line 475 of file MesqPane.h.
|
protected |
Definition at line 476 of file MesqPane.h.
|
protected |
Definition at line 474 of file MesqPane.h.
|
protected |
Definition at line 479 of file MesqPane.h.
|
protected |
Definition at line 477 of file MesqPane.h.
|
protected |
Definition at line 483 of file MesqPane.h.
|
protected |
Definition at line 491 of file MesqPane.h.
|
protected |
Definition at line 613 of file MesqPane_1_1.h.