Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MeshDomain Class Referenceabstract

#include <MeshInterface.hpp>

Inheritance diagram for MeshDomain:

Public Member Functions

virtual ~MeshDomain ()
 
virtual DomainHint hint () const =0
 Give a hint about the nature of the domain for better performance. More...
 
virtual void snap_to (Mesh::EntityHandle entity_handle, Vector3D &coordinate) const =0
 Modifies "coordinate" so that it lies on the domain to which "entity_handle" is constrained. More...
 
virtual void normal_at (Mesh::EntityHandle entity_handle, Vector3D &coordinate) const =0
 Returns the normal of the domain to which "entity_handle" is constrained. More...
 
virtual void normal_at (Mesh::EntityHandle handle, Vector3D coordinates[], unsigned count, MsqError &err) const =0
 evaluate surface normals More...
 
virtual void closest_point (Mesh::EntityHandle handle, const Vector3D &position, Vector3D &closest, Vector3D &normal, MsqError &err) const =0
 evaluate closest point and normal More...
 

Detailed Description

The MeshDomain class provides geometrical information concerning the Mesh. It is called during surface meshes optimization to figure out the surface normal, how to snap vertices back to the surface, etc... .

Definition at line 457 of file MeshInterface.hpp.

Constructor & Destructor Documentation

virtual ~MeshDomain ( )
inlinevirtual

Definition at line 460 of file MeshInterface.hpp.

461  {}

Member Function Documentation

virtual void closest_point ( Mesh::EntityHandle  handle,
const Vector3D position,
Vector3D closest,
Vector3D normal,
MsqError err 
) const
pure virtual

evaluate closest point and normal

Given a position in space, return the closest position in the domain and the domain normal at that point.

Parameters
entity_handleEvaluate the subset of the domain contianing this entity
positionInput position for which to evaluate
closestClosest position in the domain.
normalDomain normal at the location of 'closest'

Implemented in GeomEntTSTT, DomainTSTT, SphericalDomain, SphericalDomain, PlanarDomain, and PlanarDomain.

Referenced by PatchData::snap_vertex_to_domain().

Here is the caller graph for this function:

virtual DomainHint hint ( ) const
pure virtual

Give a hint about the nature of the domain for better performance.

For implementations, if unsure, return NO_DOMAIN_HINT. SMOOTH_DOMAIN is a good default choice if the domain is a single geometric surface.

Implemented in GeomEntTSTT, DomainTSTT, PlanarDomain, PlanarDomain, SphericalDomain, and SphericalDomain.

Referenced by MeshSet::get_next_elem_on_vert_patch(), and MeshSet::get_next_global_patch().

Here is the caller graph for this function:

virtual void normal_at ( Mesh::EntityHandle  entity_handle,
Vector3D coordinate 
) const
pure virtual

Returns the normal of the domain to which "entity_handle" is constrained.

For non-planar surfaces, the normal is calculated at the point on the domain that is closest to the passed in value of "coordinate". If the domain does not have a normal, or the normal cannot be determined, "coordinate" is set to (0,0,0). Otherwise, "coordinate" is set to the domain's normal at the appropriate point. In summary, the handle determines the domain. The coordinate determines the point of interest on that domain.

User should see also PatchData::get_domain_normal_at_vertex and PatchData::get_domain_normal_at_element .

Implemented in GeomEntTSTT, DomainTSTT, SphericalDomain, SphericalDomain, PlanarDomain, and PlanarDomain.

Referenced by PatchData::get_domain_normal_at_element(), PatchData::get_domain_normal_at_vertex(), PatchData::get_domain_normals_at_corners(), and PatchData::update_cached_normals().

Here is the caller graph for this function:

virtual void normal_at ( Mesh::EntityHandle  handle,
Vector3D  coordinates[],
unsigned  count,
MsqError err 
) const
pure virtual

evaluate surface normals

Returns normals for a domain.

Parameters
entity_handleThe domain evaluated is the one in which this mesh entity is constrained.
coordinatesAs input, a list of positions at which to evaluate the domain. As output, the resulting domain normals.
countThe length of the coordinates array.

Implemented in GeomEntTSTT, DomainTSTT, SphericalDomain, SphericalDomain, PlanarDomain, and PlanarDomain.

virtual void snap_to ( Mesh::EntityHandle  entity_handle,
Vector3D coordinate 
) const
pure virtual

Modifies "coordinate" so that it lies on the domain to which "entity_handle" is constrained.

The handle determines the domain. The coordinate is the proposed new position on that domain.

Implemented in GeomEntTSTT, DomainTSTT, SphericalDomain, SphericalDomain, PlanarDomain, and PlanarDomain.

Referenced by PatchData::snap_vertex_to_domain().

Here is the caller graph for this function:


The documentation for this class was generated from the following file: