MeshKit  1.0
MsqFBiGeom.hpp
Go to the documentation of this file.
00001 
00009 #ifndef MSQ_FBIGEOM_HPP
00010 #define MSQ_FBIGEOM_HPP
00011 
00012 #include "Mesquite.hpp"
00013 #include "MeshInterface.hpp"
00014 #include "meshkit/FBiGeom.hpp"
00015 #include "Vector3D.hpp"
00016 
00017 using namespace Mesquite;
00018 
00019 namespace MeshKit
00020 {
00021 
00028 class MsqFBiGeom : public MeshDomain
00029 {
00030 public:
00031 
00032   MsqFBiGeom( FBiGeom * ifbigeom,
00033             iBase_EntityHandle geom_ent_handle );
00034 
00035   virtual ~MsqFBiGeom();
00036 
00037   void snap_to( Mesh::VertexHandle entity_handle,
00038       Vector3D& coordinat ) const;
00039 
00040   void vertex_normal_at( Mesh::VertexHandle entity_handle,
00041       Vector3D& coordinate ) const;
00042 
00043   void element_normal_at( Mesquite::Mesh::ElementHandle entity_handle,
00044       Vector3D& coordinate ) const;
00045   
00046   void vertex_normal_at( const Mesh::VertexHandle* handles,
00047       Vector3D coordinates[],
00048                          unsigned count,
00049                          MsqError& err ) const;
00050 
00051   void closest_point( Mesh::VertexHandle handle,
00052                       const Vector3D& position,
00053                       Vector3D& closest,
00054                       Vector3D& normal,
00055                       MsqError& err ) const;
00056 
00057   void domain_DoF( const Mesh::VertexHandle* handle_array,
00058                    unsigned short* dof_array,
00059                    size_t num_vertices,
00060                    MsqError& err ) const;
00061 private:
00062   
00064   iBase_EntityHandle geomEntHandle;
00066   FBiGeom * fbigeom;
00067 };
00068 
00069 } // end namespace
00070 
00071 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines