#include <SphericalDomain.hpp>
Public Member Functions | |
SphericalDomain (const Vector3D ¢er, double radius) | |
virtual | ~SphericalDomain () |
DomainHint | hint () const |
Give a hint about the nature of the domain for better performance. More... | |
void | set_sphere (const Vector3D ¢er, double radius) |
virtual void | snap_to (Mesh::EntityHandle entity_handle, Vector3D &coordinate) const |
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 |
Returns the normal of the domain to which "entity_handle" is constrained. More... | |
virtual void | normal_at (Mesh::EntityHandle handle, Vector3D coords[], unsigned count, MsqError &err) const |
evaluate surface normals More... | |
virtual void | closest_point (Mesh::EntityHandle handle, const Vector3D &position, Vector3D &closest, Vector3D &normal, MsqError &err) const |
evaluate closest point and normal More... | |
SphericalDomain (const Vector3D ¢er, double radius) | |
virtual | ~SphericalDomain () |
DomainHint | hint () const |
Give a hint about the nature of the domain for better performance. More... | |
void | set_sphere (const Vector3D ¢er, double radius) |
virtual void | snap_to (Mesh::EntityHandle entity_handle, Vector3D &coordinate) const |
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 |
Returns the normal of the domain to which "entity_handle" is constrained. More... | |
virtual void | normal_at (Mesh::EntityHandle handle, Vector3D coords[], unsigned count, MsqError &err) const |
evaluate surface normals More... | |
virtual void | closest_point (Mesh::EntityHandle handle, const Vector3D &position, Vector3D &closest, Vector3D &normal, MsqError &err) const |
evaluate closest point and normal More... | |
Public Member Functions inherited from MeshDomain | |
virtual | ~MeshDomain () |
Private Attributes | |
Vector3D | mCenter |
double | mRadius |
This is a template for a spherical domain. It will provide the normal information necessary for surface mesh optimization.
Definition at line 48 of file includeLinks/SphericalDomain.hpp.
|
inline |
Definition at line 51 of file includeLinks/SphericalDomain.hpp.
|
inlinevirtual |
Definition at line 55 of file includeLinks/SphericalDomain.hpp.
|
inline |
Definition at line 51 of file src/Misc/SphericalDomain.hpp.
|
inlinevirtual |
Definition at line 55 of file src/Misc/SphericalDomain.hpp.
|
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.
entity_handle | Evaluate the subset of the domain contianing this entity |
position | Input position for which to evaluate |
closest | Closest position in the domain. |
normal | Domain normal at the location of 'closest' |
Implements MeshDomain.
Definition at line 76 of file Misc/SphericalDomain.cpp.
References Vector3D::normalize(), Vector3D::set(), and Vector3D::x().
|
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.
entity_handle | Evaluate the subset of the domain contianing this entity |
position | Input position for which to evaluate |
closest | Closest position in the domain. |
normal | Domain normal at the location of 'closest' |
Implements MeshDomain.
|
inlinevirtual |
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.
Implements MeshDomain.
Definition at line 57 of file includeLinks/SphericalDomain.hpp.
References Mesquite::SMOOTH_DOMAIN.
|
inlinevirtual |
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.
Implements MeshDomain.
Definition at line 57 of file src/Misc/SphericalDomain.hpp.
References Mesquite::SMOOTH_DOMAIN.
|
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 .
Implements MeshDomain.
Definition at line 53 of file Misc/SphericalDomain.cpp.
References Vector3D::length(), Mesquite::length(), Vector3D::set(), and Vector3D::x().
|
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 .
Implements MeshDomain.
|
virtual |
evaluate surface normals
Returns normals for a domain.
entity_handle | The domain evaluated is the one in which this mesh entity is constrained. |
coordinates | As input, a list of positions at which to evaluate the domain. As output, the resulting domain normals. |
count | The length of the coordinates array. |
Implements MeshDomain.
|
virtual |
evaluate surface normals
Returns normals for a domain.
entity_handle | The domain evaluated is the one in which this mesh entity is constrained. |
coordinates | As input, a list of positions at which to evaluate the domain. As output, the resulting domain normals. |
count | The length of the coordinates array. |
Implements MeshDomain.
Definition at line 67 of file Misc/SphericalDomain.cpp.
References i.
|
inline |
Definition at line 59 of file src/Misc/SphericalDomain.hpp.
References SphericalDomain::mCenter, and SphericalDomain::mRadius.
|
inline |
Definition at line 59 of file includeLinks/SphericalDomain.hpp.
References SphericalDomain::mCenter, and SphericalDomain::mRadius.
|
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.
Implements MeshDomain.
Definition at line 36 of file Misc/SphericalDomain.cpp.
References Vector3D::length(), SphericalDomain::mCenter, SphericalDomain::mRadius, Vector3D::set(), and Vector3D::x().
|
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.
Implements MeshDomain.
|
private |
Definition at line 83 of file includeLinks/SphericalDomain.hpp.
Referenced by SphericalDomain::set_sphere(), and SphericalDomain::snap_to().
|
private |
Definition at line 84 of file includeLinks/SphericalDomain.hpp.
Referenced by SphericalDomain::set_sphere(), and SphericalDomain::snap_to().