36 #ifndef MSQMESHENTITY_HPP
37 #define MSQMESHENTITY_HPP
43 #ifdef MSQ_USE_OLD_STD_HEADERS
49 #ifdef MSQ_USE_OLD_C_HEADERS
113 msq_stdc::size_t
get_vertex_index(msq_stdc::size_t vertex_in_element)
const;
119 short &num_jacobian_vectors,
124 msq_std::vector<Vector3D> &coords,
133 msq_std::vector<msq_stdc::size_t> &vert_indices,
177 friend msq_stdio::ostream&
operator<<(msq_stdio::ostream &stream,
190 size_t num_vertices )
202 inline msq_stdc::size_t
218 jac[0]=coord1-coord0+(*sp)[1]*(coord2+coord0-coord3-coord1);
219 jac[1]=coord3-coord0+(*sp)[0]*(coord2+coord0-coord3-coord1);
224 #endif // MsqMeshEntity_hpp
msq_stdc::size_t get_vertex_index(msq_stdc::size_t vertex_in_element) const
void get_node_indices(msq_std::vector< msq_stdc::size_t > &vertex_list) const
gets the vertices of the mesh entity
friend msq_stdio::ostream & operator<<(msq_stdio::ostream &stream, const MsqMeshEntity &entity)
Used to hold the error state and return it to the application.
double compute_signed_area(PatchData &pd, MsqError &err)
Computes the signed area of the element.
MsqMeshEntity is the Mesquite object that stores information about the elements in the mesh...
Vector3D is the object that effeciently stores information about about three-deminsional vectors...
void get_vertex_indices(msq_std::vector< msq_stdc::size_t > &vertex_list) const
gets the vertices of the mesh entity
double compute_unsigned_volume(PatchData &pd, MsqError &err)
Computes the volume of the element.
void set_element_type(EntityTopology type)
Sets element data.
size_t * vertexIndices
Pointer to connectivity array.
msq_stdc::size_t vertex_count() const
Returns the number of vertices in this element, based on its element type.
3*3 Matric class, row-oriented, 0-based [i][j] indexing.
static unsigned corners(EntityTopology topo)
Get the number of defining vertices for a given element topology.
void append_vertex_indices(msq_std::vector< msq_stdc::size_t > &vertex_list) const
void compute_weighted_jacobian(PatchData &pd, Vector3D &sample_point, Vector3D jacobian_vectors[], short &num_jacobian_vectors, MsqError &err)
void get_centroid(Vector3D ¢roid, const PatchData &pd, MsqError &err) const
Returns the centroid of the element.
double compute_unsigned_area(PatchData &pd, MsqError &err)
Computes the area of the element.
void append_node_indices(msq_std::vector< msq_stdc::size_t > &vertex_list) const
void set_connectivity(msq_stdc::size_t *indices, size_t num_vertices)
Set connectivity data (vertex array) for element.
void get_connected_vertices(msq_stdc::size_t vertex_index, msq_std::vector< msq_stdc::size_t > &vert_indices, MsqError &err)
Fills a vector<size_t> with vertices connected to the given vertex through the edges of this MsqMeshE...
EntityTopology get_element_type() const
Returns element type.
double compute_signed_volume(PatchData &pd, MsqError &err)
Computes the signed volume of the element.
const msq_stdc::size_t * get_vertex_index_array() const
Very efficient retrieval of vertices indexes (corresponding to the PatchData vertex array)...
static void get_linear_quad_jac(Vector3D *sp, Vector3D &coord0, Vector3D &coord1, Vector3D &coord2, Vector3D &coord3, Vector3D *jac)
void get_sample_points(QualityMetric::ElementEvaluationMode mode, msq_std::vector< Vector3D > &coords, MsqError &err)
Returns a list of sample points given an evaluationmode.
void compute_corner_matrices(PatchData &pd, Matrix3D A[], int num_m3d, MsqError &err)
Compute matrices which column are the vectors issued from a corner.
void compute_corner_normals(Vector3D normals[], PatchData &pd, MsqError &err)
Uses a MeshDomain call-back function to compute the normal at the corner.
msq_stdc::size_t node_count() const
Return number of nodes in element (number of corner vertices + number of higher-order nodes)...