Public Member Functions | |
GeomEntTSTT (TSTTG::Geometry &geom, void *geom_ent_handle) throw ( TSTTB::Error ) | |
virtual | ~GeomEntTSTT () |
DomainHint | hint () const |
Give a hint about the nature of the domain for better performance. More... | |
void | snap_to (Mesh::EntityHandle entity_handle, Vector3D &coordinat) const |
Modifies "coordinate" so that it lies on the domain to which "entity_handle" is constrained. More... | |
void | normal_at (Mesh::EntityHandle entity_handle, Vector3D &coordinate) const |
Returns the normal of the domain to which "entity_handle" is constrained. More... | |
void | normal_at (Mesh::EntityHandle handle, Vector3D coordinates[], unsigned count, MsqError &err) const |
evaluate surface normals More... | |
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 GeomTSTT | |
virtual | ~GeomTSTT () |
virtual | ~GeomTSTT () |
Public Member Functions inherited from MeshDomain | |
virtual | ~MeshDomain () |
Private Attributes | |
void * | geomEntHandle |
A handle for the geometry entity to evaluate. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from GeomTSTT | |
static GeomTSTT * | create (TSTTG::Geometry &geom, TSTTM::Mesh &mesh, TSTTR::Relate &assoc, MsqError &err) |
Create MeshDommain from TSTT classification and geometry interfaces. More... | |
static GeomTSTT * | create (TSTTG::Geometry &geom, void *geom_ent_handle, MsqError &err) |
Create a MeshDomain for a single geometric entity that uses the TSTT geometry interface for geometric evaluation. More... | |
static GeomTSTT * | create (TSTTG::Geometry &geom, TSTTM::Mesh &mesh, TSTTR::Relate &assoc, MsqError &err) |
Create MeshDommain from TSTT classification and geometry interfaces. More... | |
static GeomTSTT * | create (TSTTG::Geometry &geom, void *geom_ent_handle, MsqError &err) |
Create a MeshDomain for a single geometric entity that uses the TSTT geometry interface for geometric evaluation. More... | |
Protected Member Functions inherited from GeomTSTTCommon | |
GeomTSTTCommon (TSTTG::Geometry &geom) throw (TSTTB::Error ) | |
virtual | ~GeomTSTTCommon () |
void | move_to (void *geom_handle, Vector3D &coord) const throw ( TSTTB::Error ) |
Evaluate the closest point to the input position on the specified geometric entity and return the result in the passed position argument (move the passed position onto the geometry.) More... | |
void | normal (void *geom_handle, Vector3D &coord) const throw ( TSTTB::Error ) |
Given a geometric entity and a position, evaluate the normal on the geometric entity at the closest point on that entity to the input position, and pass back the result in the input coord vector. More... | |
void | normal (void *geom_handle, Vector3D coords[], unsigned count) const throw ( TSTTB::Error ) |
Given a geometric entity and a position, evaluate the normal on the geometric entity at the closest point on that entity to the input position, and pass back the result in the input coord vector. More... | |
void | closest_and_normal (void *geom_handle, const Vector3D &position, Vector3D &closest, Vector3D &normal) const throw (TSTTB::Error) |
Given a geometric entity and a position, get point on the geometric entity closest to the input position, and the surface normal at that position. More... | |
Protected Attributes inherited from GeomTSTTCommon | |
TSTTG::Shape | geomIface |
TSTT geometry interface implementation to query. More... | |
sidl::array< void * > | geomHandles |
Temporary storage for geometry entity handles. More... | |
sidl::array< double > | positionsIn |
Temporary storate for input and output vectors. More... | |
sidl::array< double > | positionsOut |
sidl::array< double > | normalsOut |
Definition at line 159 of file GeomTSTT.cpp.
GeomEntTSTT | ( | TSTTG::Geometry & | geom, |
void * | geom_ent_handle | ||
) | |||
throw | ( | TSTTB::Error | |
) |
Definition at line 339 of file GeomTSTT.cpp.
|
virtual |
Definition at line 346 of file GeomTSTT.cpp.
|
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 388 of file GeomTSTT.cpp.
References GeomTSTTCommon::closest_and_normal(), GeomEntTSTT::geomEntHandle, MsqError::INTERNAL_ERROR, MSQ_SETERR, and Mesquite::process_tstt_error().
|
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.
Implements MeshDomain.
Definition at line 348 of file GeomTSTT.cpp.
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 363 of file GeomTSTT.cpp.
References GeomEntTSTT::geomEntHandle, GeomTSTTCommon::normal(), and Mesquite::process_tstt_error().
|
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 375 of file GeomTSTT.cpp.
References GeomEntTSTT::geomEntHandle, MsqError::INTERNAL_ERROR, MSQ_SETERR, GeomTSTTCommon::normal(), and Mesquite::process_tstt_error().
|
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 352 of file GeomTSTT.cpp.
References GeomEntTSTT::geomEntHandle, GeomTSTTCommon::move_to(), and Mesquite::process_tstt_error().
|
private |
A handle for the geometry entity to evaluate.
Definition at line 190 of file GeomTSTT.cpp.
Referenced by GeomEntTSTT::closest_point(), GeomEntTSTT::normal_at(), and GeomEntTSTT::snap_to().