cgma
GeometryQueryEngine Class Reference

#include <GeometryQueryEngine.hpp>

Inheritance diagram for GeometryQueryEngine:
FacetQueryEngine OCCQueryEngine VirtualQueryEngine

List of all members.

Public Member Functions

virtual ~GeometryQueryEngine ()
virtual CubitStatus export_solid_model (DLIList< TopologyBridge * > &bridge_list, const char *file_name, Model_File_Type file_type, const CubitString &cubit_version, ModelExportOptions &export_options)=0
virtual CubitStatus export_solid_model (DLIList< TopologyBridge * > &bridge_list, char *&p_buffer, int &n_buffer_size, bool b_export_buffer)=0
virtual CubitStatus save_temp_geom_file (DLIList< TopologyBridge * > &ref_entity_list, const char *filename, const CubitString &cubit_version, CubitString &created_file, CubitString &created_file_type)=0
virtual CubitStatus import_solid_model (const char *file_name, Model_File_Type file_type, DLIList< TopologyBridge * > &imported_entities, ModelImportOptions &import_options)=0
virtual CubitStatus import_solid_model (DLIList< TopologyBridge * > &imported_entities, const char *pBuffer, const int n_buffer_size)=0
virtual CubitStatus get_underlying_curves (Curve *curve_ptr, DLIList< TopologyBridge * > &curve_list)
virtual CubitStatus get_underlying_surfaces (Surface *surf_ptr, DLIList< TopologyBridge * > &surf_list)
virtual CubitStatus get_underlying_bridges (TopologyBridge *bridge_ptr, DLIList< TopologyBridge * > &bridge_list)
virtual CubitStatus get_intersections (Curve *ref_edge1, CubitVector &point1, CubitVector &point2, DLIList< CubitVector > &intersection_list, bool bounded=false, bool closest=false)=0
virtual CubitStatus get_intersections (Curve *ref_edge1, Curve *ref_edge2, DLIList< CubitVector > &intersection_list, bool bounded=false, bool closest=false)=0
virtual CubitStatus get_intersections (Curve *curve, Surface *surface, DLIList< CubitVector > &intersection_list, bool bounded=false)=0
virtual CubitStatus entity_extrema (DLIList< GeometryEntity * > &ref_entity_list, const CubitVector *dir1, const CubitVector *dir2, const CubitVector *dir3, CubitVector &extrema, GeometryEntity *&extrema_entity_ptr)=0
virtual CubitStatus entity_entity_distance (GeometryEntity *ref_entity_ptr1, GeometryEntity *ref_entity_ptr2, CubitVector &pos1, CubitVector &pos2, double &distance)=0
virtual void validate_geometry_database () const
virtual void delete_solid_model_entities (DLIList< BodySM * > &body_list) const =0
virtual CubitStatus delete_solid_model_entities (GeometryEntity *ref_entity_ptr) const
virtual CubitStatus delete_solid_model_entities (BodySM *body_ptr) const =0
virtual CubitStatus delete_solid_model_entities (Surface *surf_ptr) const =0
virtual CubitStatus delete_solid_model_entities (Curve *curve_ptr) const =0
virtual CubitStatus delete_solid_model_entities (TBPoint *point_ptr) const =0
virtual CubitStatus delete_topology_bridge (TopologyBridge *bridge) const
virtual CubitStatus fire_ray (CubitVector &origin, CubitVector &direction, DLIList< TopologyBridge * > &at_entity_list, DLIList< double > &ray_params, int max_hits=0, double ray_radius=0.0, DLIList< TopologyBridge * > *hit_entity_list=0) const =0
virtual void get_ordered_loops (RefFace *, DLIList< Loop * > &) const
virtual CubitStatus get_isoparametric_points (Surface *ref_face_ptr, int &nu, int &nv, GMem *&gMem) const =0
virtual CubitStatus get_u_isoparametric_points (Surface *ref_face_ptr, double v, int &n, GMem *&gMem) const =0
virtual CubitStatus get_v_isoparametric_points (Surface *ref_face_ptr, double u, int &n, GMem *&gMem) const =0
virtual CubitStatus transform_vec_position (CubitVector const &position_vector, BodySM *OSME_ptr, CubitVector &transform_vector) const =0
virtual int curve_is_on_ignored_surface (Curve *, Surface *)
virtual const char * modeler_type ()=0
virtual int get_major_version ()=0
virtual int get_minor_version ()=0
virtual int get_subminor_version ()=0
virtual int get_allint_version ()
virtual CubitString get_engine_version_string ()=0
virtual bool is_intermediate_engine ()
virtual CubitStatus set_export_version (const int major, const int minor)
virtual CubitStatus set_export_allint_version (const int version)
virtual CubitStatus list_engine_versions (CubitString &versions)
virtual double get_sme_resabs_tolerance () const =0
virtual double set_sme_resabs_tolerance (double new_resabs)=0
virtual CubitStatus set_int_option (const char *opt_name, int val)=0
virtual CubitStatus set_dbl_option (const char *opt_name, double val)=0
virtual CubitStatus set_str_option (const char *opt_name, const char *val)=0
virtual CubitStatus get_graphics (BodySM *bodysm, GMem *g_mem, std::vector< Surface * > &surface_to_facets_vector, std::vector< TopologyBridge * > &vertex_edge_to_point_vector, std::vector< std::pair< TopologyBridge *, std::pair< int, int > > > &facet_edges_on_curves, unsigned short normal_tolerance, double distance_tolerance, double max_edge_length) const
virtual CubitStatus get_graphics (Surface *surface_ptr, GMem *gMem, unsigned short normal_tolerance=15, double distance_tolerance=0, double longest_edge=0) const =0
virtual CubitStatus get_graphics (Surface *surface_ptr, GMem *gmem, std::vector< TopologyBridge * > &vertex_edge_to_point_vector, std::vector< std::pair< TopologyBridge *, std::pair< int, int > > > &facet_edges_on_curves, unsigned short normal_tolerance=15, double distance_tolerance=0.0, double max_edge_length=0.0) const
virtual CubitStatus get_graphics (Curve *curve_ptr, GMem *gMem, double angle_tolerance=0, double distance_tolerance=0, double max_edge_length=0) const =0
virtual CubitStatus translate (BodySM *body, const CubitVector &offset)=0
virtual CubitStatus rotate (BodySM *body, const CubitVector &axis, double angle)=0
virtual CubitStatus scale (BodySM *body, double factor)=0
virtual CubitStatus scale (BodySM *body, const CubitVector &factors)=0
virtual CubitStatus reflect (BodySM *body, const CubitVector &axis)=0
virtual CubitStatus restore_transform (BodySM *body)=0
virtual CubitStatus translate (GeometryEntity *ent, const CubitVector &offset)=0
virtual CubitStatus rotate (GeometryEntity *ent, const CubitVector &axis, double degrees)=0
virtual CubitStatus scale (GeometryEntity *ent, double factor)=0
virtual CubitStatus scale (GeometryEntity *ent, const CubitVector &factors)=0
virtual CubitStatus reflect (GeometryEntity *ent, const CubitVector &axis)=0
virtual CubitBoolean bodies_overlap (BodySM *body_ptr_1, BodySM *body_ptr_2) const =0
virtual CubitBoolean volumes_overlap (Lump *lump1, Lump *lump2) const =0
virtual TopologyBridgeget_visible_entity_at_point (TopologyBridge *, CubitVector *)
virtual CubitStatus get_visible_entities (TopologyBridge *hidden_tb, DLIList< TopologyBridge * > &real_tbs)
virtual CubitStatus get_point_containment (DLIList< BodySM * > &body_list, DLIList< CubitVector > &point_list, double tolerance, bool allow_pts_in_multiple_bodies, std::vector< std::pair< BodySM *, std::vector< int > > > &bodysm_to_pt_indices)

Detailed Description

Definition at line 135 of file GeometryQueryEngine.hpp.


Constructor & Destructor Documentation

virtual GeometryQueryEngine::~GeometryQueryEngine ( ) [inline, virtual]
  • virtual destructor

Definition at line 141 of file GeometryQueryEngine.hpp.

{}

Member Function Documentation

virtual CubitBoolean GeometryQueryEngine::bodies_overlap ( BodySM body_ptr_1,
BodySM body_ptr_2 
) const [pure virtual]
virtual int GeometryQueryEngine::curve_is_on_ignored_surface ( Curve ,
Surface  
) [inline, virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 339 of file GeometryQueryEngine.hpp.

                                 { return 0; }
virtual void GeometryQueryEngine::delete_solid_model_entities ( DLIList< BodySM * > &  body_list) const [pure virtual]

Definition at line 74 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
virtual CubitStatus GeometryQueryEngine::delete_solid_model_entities ( Curve curve_ptr) const [pure virtual]

Definition at line 79 of file GeometryQueryEngine.cpp.

{
 
  // first, try the geometry entity

  GeometryEntity* ent = dynamic_cast<GeometryEntity*> (bridge);
  if (ent)
  {
    return delete_solid_model_entities(ent);
  }

  // now, try to cast to a BodySM and call that routine
  BodySM* body = dynamic_cast<BodySM*> (bridge);
  if (body)
  {
    delete_solid_model_entities(body);
    return CUBIT_SUCCESS;
  }

  PRINT_ERROR("GeometryQueryEngine::delete_solid_model_entities(TopologyBridge* bridge): no deletion...\n");
  return CUBIT_FAILURE;
}
virtual CubitStatus GeometryQueryEngine::entity_entity_distance ( GeometryEntity ref_entity_ptr1,
GeometryEntity ref_entity_ptr2,
CubitVector pos1,
CubitVector pos2,
double &  distance 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::entity_extrema ( DLIList< GeometryEntity * > &  ref_entity_list,
const CubitVector dir1,
const CubitVector dir2,
const CubitVector dir3,
CubitVector extrema,
GeometryEntity *&  extrema_entity_ptr 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::export_solid_model ( DLIList< TopologyBridge * > &  bridge_list,
const char *  file_name,
Model_File_Type  file_type,
const CubitString cubit_version,
ModelExportOptions export_options 
) [pure virtual]

R CubitStatus R- CUBIT_SUCCESS/CUBIT_FAILURE I ref_entity_list I- A list of RefEntities to be exported or saved to a file. I file_name I- The name of the file to write to. I file_type I- An optional type of file.

  • Export the current CUBIT geometry (everything in the Model) to a
  • solid model format. Valid file types are:
  • "IGES" -- IGES file
  • "STEP" -- STEP file I logfile_name I- Optional - name of logfile.
  • No logfile gets created for SAB/SAT files, but for IGES and
  • STEP file a logfile always gets created. Default filenames
  • are assigned if one is not given (iges_export.log, step_export.log).
  • The function returns CUBIT_FAILURE if anything goes wrong with
  • export - improper file type, inaccessible file, mismatch between
  • the underlying representation and file type. It returns
  • CUBIT_SUCCESS if everything goes well.

Implemented in VirtualQueryEngine, OCCQueryEngine, and FacetQueryEngine.

virtual CubitStatus GeometryQueryEngine::export_solid_model ( DLIList< TopologyBridge * > &  bridge_list,
char *&  p_buffer,
int &  n_buffer_size,
bool  b_export_buffer 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::fire_ray ( CubitVector origin,
CubitVector direction,
DLIList< TopologyBridge * > &  at_entity_list,
DLIList< double > &  ray_params,
int  max_hits = 0,
double  ray_radius = 0.0,
DLIList< TopologyBridge * > *  hit_entity_list = 0 
) const [pure virtual]

Definition at line 20 of file GeometryQueryEngine.cpp.

{
  return 100*get_major_version() + get_minor_version();
}
CubitStatus GeometryQueryEngine::get_graphics ( BodySM bodysm,
GMem g_mem,
std::vector< Surface * > &  surface_to_facets_vector,
std::vector< TopologyBridge * > &  vertex_edge_to_point_vector,
std::vector< std::pair< TopologyBridge *, std::pair< int, int > > > &  facet_edges_on_curves,
unsigned short  normal_tolerance,
double  distance_tolerance,
double  max_edge_length 
) const [virtual]

Reimplemented in FacetQueryEngine.

Definition at line 47 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
virtual CubitStatus GeometryQueryEngine::get_graphics ( Surface surface_ptr,
GMem gMem,
unsigned short  normal_tolerance = 15,
double  distance_tolerance = 0,
double  longest_edge = 0 
) const [pure virtual]
CubitStatus GeometryQueryEngine::get_graphics ( Surface surface_ptr,
GMem gmem,
std::vector< TopologyBridge * > &  vertex_edge_to_point_vector,
std::vector< std::pair< TopologyBridge *, std::pair< int, int > > > &  facet_edges_on_curves,
unsigned short  normal_tolerance = 15,
double  distance_tolerance = 0.0,
double  max_edge_length = 0.0 
) const [virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 57 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
virtual CubitStatus GeometryQueryEngine::get_graphics ( Curve curve_ptr,
GMem gMem,
double  angle_tolerance = 0,
double  distance_tolerance = 0,
double  max_edge_length = 0 
) const [pure virtual]
virtual CubitStatus GeometryQueryEngine::get_intersections ( Curve ref_edge1,
CubitVector point1,
CubitVector point2,
DLIList< CubitVector > &  intersection_list,
bool  bounded = false,
bool  closest = false 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::get_intersections ( Curve ref_edge1,
Curve ref_edge2,
DLIList< CubitVector > &  intersection_list,
bool  bounded = false,
bool  closest = false 
) [pure virtual]

Implemented in VirtualQueryEngine.

virtual CubitStatus GeometryQueryEngine::get_intersections ( Curve curve,
Surface surface,
DLIList< CubitVector > &  intersection_list,
bool  bounded = false 
) [pure virtual]

Implemented in VirtualQueryEngine.

virtual CubitStatus GeometryQueryEngine::get_isoparametric_points ( Surface ref_face_ptr,
int &  nu,
int &  nv,
GMem *&  gMem 
) const [pure virtual]
virtual int GeometryQueryEngine::get_major_version ( ) [pure virtual]
virtual int GeometryQueryEngine::get_minor_version ( ) [pure virtual]
virtual void GeometryQueryEngine::get_ordered_loops ( RefFace ,
DLIList< Loop * > &   
) const [inline, virtual]

Definition at line 315 of file GeometryQueryEngine.hpp.

{};
CubitStatus GeometryQueryEngine::get_point_containment ( DLIList< BodySM * > &  body_list,
DLIList< CubitVector > &  point_list,
double  tolerance,
bool  allow_pts_in_multiple_bodies,
std::vector< std::pair< BodySM *, std::vector< int > > > &  bodysm_to_pt_indices 
) [virtual]

Reimplemented in FacetQueryEngine.

Definition at line 103 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
virtual double GeometryQueryEngine::get_sme_resabs_tolerance ( ) const [pure virtual]
virtual CubitStatus GeometryQueryEngine::get_u_isoparametric_points ( Surface ref_face_ptr,
double  v,
int &  n,
GMem *&  gMem 
) const [pure virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 42 of file GeometryQueryEngine.cpp.

{ return CUBIT_SUCCESS; }
CubitStatus GeometryQueryEngine::get_underlying_curves ( Curve curve_ptr,
DLIList< TopologyBridge * > &  curve_list 
) [virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 34 of file GeometryQueryEngine.cpp.

{ return CUBIT_SUCCESS; }

Reimplemented in VirtualQueryEngine.

Definition at line 38 of file GeometryQueryEngine.cpp.

{ return CUBIT_SUCCESS; }
virtual CubitStatus GeometryQueryEngine::get_v_isoparametric_points ( Surface ref_face_ptr,
double  u,
int &  n,
GMem *&  gMem 
) const [pure virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 68 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}

Reimplemented in VirtualQueryEngine.

Definition at line 445 of file GeometryQueryEngine.hpp.

{return NULL;};
virtual CubitStatus GeometryQueryEngine::import_solid_model ( const char *  file_name,
Model_File_Type  file_type,
DLIList< TopologyBridge * > &  imported_entities,
ModelImportOptions &  import_options 
) [pure virtual]

R CubitStatus R- CUBIT_SUCCESS/CUBIT_FAILURE I file_ptr I- A pointer to the file to read (can be NULL for IGES and STEP files). I file_type I- Type of file.

  • Reads in geometry and creates the necessary Reference entities
  • associated with the input geometry.
  • Valid file types are:
  • "IGES" -- IGES file
  • "STEP" -- STEP file I heal_step - auto-healing of step bodies on import. This is recommended because they always need it. I import_bodies (etc...) I- Should bodies be import.
  • Function can selectively import solid bodies, free surfaces, free
  • curves, or free vertices. For example, the user may not want
  • to import any free entities.
  • The function returns CUBIT_FAILURE if anything goes wrong with
  • import - improper file type, inaccessible file, mismatch between
  • the underlying representation and file type. It returns
  • CUBIT_SUCCESS if everything goes well.

Implemented in VirtualQueryEngine, OCCQueryEngine, and FacetQueryEngine.

virtual CubitStatus GeometryQueryEngine::import_solid_model ( DLIList< TopologyBridge * > &  imported_entities,
const char *  pBuffer,
const int  n_buffer_size 
) [pure virtual]
virtual bool GeometryQueryEngine::is_intermediate_engine ( ) [inline, virtual]

Reimplemented in VirtualQueryEngine.

Definition at line 349 of file GeometryQueryEngine.hpp.

{return FALSE;}

Definition at line 25 of file GeometryQueryEngine.cpp.

{
  versions = "(none specified)";
  return CUBIT_SUCCESS;
}
virtual const char* GeometryQueryEngine::modeler_type ( ) [pure virtual]
virtual CubitStatus GeometryQueryEngine::reflect ( BodySM body,
const CubitVector axis 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::reflect ( GeometryEntity ent,
const CubitVector axis 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::rotate ( BodySM body,
const CubitVector axis,
double  angle 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::rotate ( GeometryEntity ent,
const CubitVector axis,
double  degrees 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::save_temp_geom_file ( DLIList< TopologyBridge * > &  ref_entity_list,
const char *  filename,
const CubitString cubit_version,
CubitString created_file,
CubitString created_file_type 
) [pure virtual]

Saves out a temporary geometry file. Entities in list must all be of same modeling engine.

Implemented in VirtualQueryEngine, OCCQueryEngine, and FacetQueryEngine.

virtual CubitStatus GeometryQueryEngine::scale ( BodySM body,
double  factor 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::scale ( BodySM body,
const CubitVector factors 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::scale ( GeometryEntity ent,
double  factor 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::scale ( GeometryEntity ent,
const CubitVector factors 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::set_dbl_option ( const char *  opt_name,
double  val 
) [pure virtual]

Definition at line 15 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
CubitStatus GeometryQueryEngine::set_export_version ( const int  major,
const int  minor 
) [virtual]

Definition at line 9 of file GeometryQueryEngine.cpp.

{
  return CUBIT_FAILURE;
}
virtual CubitStatus GeometryQueryEngine::set_int_option ( const char *  opt_name,
int  val 
) [pure virtual]
virtual double GeometryQueryEngine::set_sme_resabs_tolerance ( double  new_resabs) [pure virtual]
virtual CubitStatus GeometryQueryEngine::set_str_option ( const char *  opt_name,
const char *  val 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::transform_vec_position ( CubitVector const &  position_vector,
BodySM OSME_ptr,
CubitVector transform_vector 
) const [pure virtual]
virtual CubitStatus GeometryQueryEngine::translate ( BodySM body,
const CubitVector offset 
) [pure virtual]
virtual CubitStatus GeometryQueryEngine::translate ( GeometryEntity ent,
const CubitVector offset 
) [pure virtual]
virtual void GeometryQueryEngine::validate_geometry_database ( ) const [inline, virtual]

Definition at line 286 of file GeometryQueryEngine.hpp.

{};
virtual CubitBoolean GeometryQueryEngine::volumes_overlap ( Lump lump1,
Lump lump2 
) const [pure virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines