cgma
|
#include <RefVertex.hpp>
Public Types | |
typedef RefEdge | ParentType |
Public Member Functions | |
virtual | ~RefVertex () |
virtual const char * | class_name () const |
DagType | dag_type () const |
Returns the dag type of this enity. | |
const std::type_info & | entity_type_info () const |
Returns the type info of this enity. | |
TBPoint * | get_point_ptr () |
TBPoint const * | get_point_ptr () const |
CubitVector | coordinates () const |
virtual CubitVector | center_point () |
Return the approximate (spatial) center of this RefEntity. | |
virtual int | dimension () const |
void | get_parent_ref_entities (DLIList< RefEntity * > &entity_list) |
void | common_ref_edges (RefVertex *other_vertex, DLIList< RefEdge * > &common_ref_edges, RefFace *owning_face=NULL) |
RefEdge * | common_ref_edge (RefVertex *other_vertex, RefFace *owning_face=NULL) |
CubitBoolean | about_spatially_equal (RefVertex *ref_vertex_ptr_2, double tolerance_factor=1.0, CubitBoolean notify_ref_entity=CUBIT_FALSE) |
Static Public Member Functions | |
static const char * | get_class_name () |
Protected Member Functions | |
RefVertex (TBPoint *pointPtr) | |
Private Member Functions | |
void | initialize () |
RefVertex (const RefVertex &) | |
void | operator= (const RefVertex &) |
Friends | |
class | RefEntityFactory |
Definition at line 10 of file RefVertex.hpp.
typedef RefEdge RefVertex::ParentType |
Definition at line 14 of file RefVertex.hpp.
RefVertex::~RefVertex | ( | ) | [virtual] |
Definition at line 74 of file RefVertex.cpp.
{ }
RefVertex::RefVertex | ( | TBPoint * | pointPtr | ) | [protected] |
Definition at line 47 of file RefVertex.cpp.
{ // Set the GeometryEntity pointer if (pointPtr != NULL) { set_geometry_entity_ptr(pointPtr) ; } else { PRINT_ERROR("In the RefVertex(TBPoint*) constructor\n"); PRINT_ERROR(" Input TBPoint pointer is NULL\n"); assert(CUBIT_FALSE); } // Initialize the member data initialize(); }
RefVertex::RefVertex | ( | const RefVertex & | ) | [private] |
CubitBoolean RefVertex::about_spatially_equal | ( | RefVertex * | ref_vertex_ptr_2, |
double | tolerance_factor = 1.0 , |
||
CubitBoolean | notify_ref_entity = CUBIT_FALSE |
||
) |
Definition at line 214 of file RefVertex.cpp.
{ if( this == ref_vertex_ptr_2 ) { if (notify_ref_entity) remove_compare_data(); return CUBIT_TRUE; } const CubitVector vertex_1_position = this->coordinates(); const CubitVector vertex_2_position = ref_vertex_ptr_2->coordinates(); if (!GeometryQueryTool::instance()-> about_spatially_equal( vertex_1_position, vertex_2_position, tolerance_factor)) return CUBIT_FALSE; if ( notify_ref_entity == CUBIT_TRUE ) this->comparison_found(ref_vertex_ptr_2); return CUBIT_TRUE; }
CubitVector RefVertex::center_point | ( | ) | [virtual] |
Return the approximate (spatial) center of this RefEntity.
Reimplemented from RefEntity.
Definition at line 135 of file RefVertex.cpp.
{ return this->coordinates(); }
virtual const char* RefVertex::class_name | ( | ) | const [inline, virtual] |
Reimplemented from BasicTopologyEntity.
Definition at line 27 of file RefVertex.hpp.
{ return get_class_name(); }
RefEdge * RefVertex::common_ref_edge | ( | RefVertex * | other_vertex, |
RefFace * | owning_face = NULL |
||
) |
Definition at line 169 of file RefVertex.cpp.
{ //- returns an edge sharing the other vertex and owned by owning_face //- (if non-NULL) //- The edge must have this vertex and other_vertex as its //- start and end vertices. DLIList<RefEntity*> temp_list; join(other_vertex, temp_list); int i; for (i = temp_list.size(); i > 0; i--) { RefEdge *common_edge = CAST_TO(temp_list.get(), RefEdge); if( NULL == common_edge ) continue; //This extra 'if' block is needed in case other_vertex == this if ( ( common_edge->start_vertex() == other_vertex && common_edge->end_vertex() == this) || ( common_edge->start_vertex() == this && common_edge->end_vertex() == other_vertex ) ) { if (common_edge && (!owning_face || common_edge->is_child(owning_face))) return common_edge; else temp_list.step(); } else temp_list.step(); } return NULL; }
void RefVertex::common_ref_edges | ( | RefVertex * | other_vertex, |
DLIList< RefEdge * > & | common_ref_edges, | ||
RefFace * | owning_face = NULL |
||
) |
Definition at line 139 of file RefVertex.cpp.
{ //- returns an edge sharing the other vertex and owned by owning_face //- (if non-NULL) //- The edge must have this vertex and other_vertex as its //- start and end vertices. DLIList<RefEntity*> temp_list; join(other_vertex, temp_list); int i; for (i = temp_list.size(); i > 0; i--) { RefEdge *common_edge = CAST_TO(temp_list.get(), RefEdge); //This extra 'if' block is needed in case other_vertex == this if (common_edge && ((common_edge->start_vertex() == other_vertex && common_edge->end_vertex() == this) || ( common_edge->start_vertex() == this && common_edge->end_vertex() == other_vertex ))) { if (common_edge && (!owning_face || common_edge->is_child(owning_face))) common_ref_edges.append(common_edge); } temp_list.step(); } return; }
CubitVector RefVertex::coordinates | ( | ) | const |
Definition at line 107 of file RefVertex.cpp.
{ const TBPoint* point_ptr = get_point_ptr(); if (point_ptr != NULL) { return point_ptr->coordinates(); } else { PRINT_ERROR("In RefVertex::coordinates\n" " RefVertex %d has no GeometryEntity attached to it.\n" " THIS IS A BUG - PLEASE REPORT IT.\n", id()); assert( point_ptr != NULL ); return CubitVector(); } }
DagType RefVertex::dag_type | ( | ) | const [inline, virtual] |
Returns the dag type of this enity.
Implements BasicTopologyEntity.
Definition at line 32 of file RefVertex.hpp.
{ return DagType::ref_vertex_type(); }
virtual int RefVertex::dimension | ( | ) | const [inline, virtual] |
Returns the geometric dimension of the entity. vertex == 0, edge == 1, etc.
Reimplemented from RefEntity.
Definition at line 51 of file RefVertex.hpp.
{ return 0; }
const std::type_info& RefVertex::entity_type_info | ( | ) | const [inline, virtual] |
Returns the type info of this enity.
Implements RefEntity.
Definition at line 33 of file RefVertex.hpp.
{ return typeid(RefVertex); }
static const char* RefVertex::get_class_name | ( | ) | [inline, static] |
Reimplemented from BasicTopologyEntity.
Definition at line 22 of file RefVertex.hpp.
{ return "Vertex"; }
void RefVertex::get_parent_ref_entities | ( | DLIList< RefEntity * > & | entity_list | ) | [virtual] |
Appends all RefEntities that own this (parent RefEntities) to entity_list. (The query goes up just one dimension. For example, if this is a vertex, the resulting list contains only RefEdges).
Implements RefEntity.
Definition at line 276 of file RefVertex.cpp.
{ // First get the type of RefEntity that is a child of "this" one DagType parent_type = get_parent_ref_entity_type();; DLIList<TopologyEntity*> tempList ; CubitStatus result = ModelQueryEngine::instance()-> query_model( *this, parent_type, tempList ); if (result == CUBIT_FAILURE) { PRINT_ERROR("In RefEntity::get_parent_ref_entities\n"); PRINT_ERROR(" Query failed for unknown reason.\n"); return; } entity_list.clean_out(); for(int i=0; i<tempList.size(); i++) { entity_list.append(static_cast<ParentType*>(tempList[i])); } }
Definition at line 87 of file RefVertex.cpp.
{ return CAST_TO(get_geometry_entity_ptr(), TBPoint) ; }
const TBPoint * RefVertex::get_point_ptr | ( | ) | const |
Definition at line 92 of file RefVertex.cpp.
{ return CAST_TO(get_geometry_entity_ptr(), TBPoint) ; }
void RefVertex::initialize | ( | ) | [private] |
Definition at line 254 of file RefVertex.cpp.
{ GeometryEntity* geom_ptr = get_geometry_entity_ptr(); int saved_id = geom_ptr->get_saved_id(); if ( !saved_id || RefEntityFactory::instance()->get_ref_vertex(saved_id) ) { saved_id = RefEntityFactory::instance()->next_ref_vertex_id(); geom_ptr->set_saved_id(saved_id); } entityId = saved_id; // Initialize some attributes // read and initialize attributes auto_read_cubit_attrib(); auto_actuate_cubit_attrib(); // Assign a default entity name assign_default_name(); }
void RefVertex::operator= | ( | const RefVertex & | ) | [private] |
friend class RefEntityFactory [friend] |
Definition at line 16 of file RefVertex.hpp.