cgma
|
#include <TDSplitSurface.hpp>
Definition at line 186 of file TDSplitSurface.hpp.
TDSplitSurface::TDSplitSurface | ( | int | vertex_type | ) |
Definition at line 12 of file TDSplitSurface.cpp.
{ vertexType = vertex_type; sideA = NULL; sideB = NULL; sideC = NULL; sideD = NULL; }
TDSplitSurface::TDSplitSurface | ( | RefFace * | ref_face_ptr | ) |
Definition at line 21 of file TDSplitSurface.cpp.
{ refFacePtr = ref_face_ptr; sideA = NULL; sideB = NULL; sideC = NULL; sideD = NULL; }
CubitStatus TDSplitSurface::add_a_coedges | ( | DLIList< CoEdge * > & | a_coedges, |
RefVertex * | start_vertex_ptr = NULL |
||
) |
Definition at line 132 of file TDSplitSurface.cpp.
{ if( start_vertex_ptr == NULL ) sideA = new SSSide( refFacePtr, a_coedges ); else { // Collapsed side (for triangle) CubitVector tmp(start_vertex_ptr->coordinates()); sideA = new SSSide( refFacePtr, a_coedges, &tmp ); } return CUBIT_SUCCESS; }
CubitStatus TDSplitSurface::add_b_coedges | ( | DLIList< CoEdge * > & | b_coedges, |
RefVertex * | start_vertex_ptr = NULL |
||
) |
Definition at line 147 of file TDSplitSurface.cpp.
{ if( start_vertex_ptr == NULL ) sideB = new SSSide( refFacePtr, b_coedges ); else { // Collapsed side (for triangle) CubitVector tmp(start_vertex_ptr->coordinates()); sideB = new SSSide( refFacePtr, b_coedges, &tmp ); } return CUBIT_SUCCESS; }
CubitStatus TDSplitSurface::add_c_coedges | ( | DLIList< CoEdge * > & | c_coedges, |
RefVertex * | start_vertex_ptr = NULL |
||
) |
Definition at line 162 of file TDSplitSurface.cpp.
{ if( start_vertex_ptr == NULL ) sideC = new SSSide( refFacePtr, c_coedges ); else { // Collapsed side (for triangle) CubitVector tmp(start_vertex_ptr->coordinates()); sideC = new SSSide( refFacePtr, c_coedges, &tmp ); } return CUBIT_SUCCESS; }
CubitStatus TDSplitSurface::add_coedges | ( | DLIList< CoEdge * > & | co_edge_list, |
int | side_interval[] | ||
) |
Definition at line 44 of file TDSplitSurface.cpp.
{ int i; co_edge_list.reset(); CoEdge *co_edge_ptr; DLIList<CoEdge*> chain; RefVertex *start_vertex_ptr; // SIDE A if( side_interval[0] == 0 ) { co_edge_ptr = co_edge_list.get(); start_vertex_ptr = start_vertex( co_edge_ptr ); CubitVector tmp(start_vertex_ptr->coordinates()); sideA = new SSSide( refFacePtr, chain, &tmp ); } else { for( i=side_interval[0]; i--; ) { co_edge_ptr = co_edge_list.get_and_step(); chain.append( co_edge_ptr ); } sideA = new SSSide( refFacePtr, chain ); } chain.clean_out(); // SIDE B if( side_interval[1] == 0 ) { co_edge_ptr = co_edge_list.get(); start_vertex_ptr = start_vertex( co_edge_ptr ); CubitVector tmp(start_vertex_ptr->coordinates()); sideB = new SSSide( refFacePtr, chain, &tmp ); } else { for( i=side_interval[1]; i--; ) { co_edge_ptr = co_edge_list.get_and_step(); chain.append( co_edge_ptr ); } sideB = new SSSide( refFacePtr, chain ); } chain.clean_out(); // SIDE C if( side_interval[2] == 0 ) { co_edge_ptr = co_edge_list.get(); start_vertex_ptr = start_vertex( co_edge_ptr ); CubitVector tmp(start_vertex_ptr->coordinates()); sideC = new SSSide( refFacePtr, chain, &tmp ); } else { for( i=side_interval[2]; i--; ) { co_edge_ptr = co_edge_list.get_and_step(); chain.append( co_edge_ptr ); } sideC = new SSSide( refFacePtr, chain ); } chain.clean_out(); // SIDE D if( side_interval[3] == 0 ) { co_edge_ptr = co_edge_list.get(); start_vertex_ptr = start_vertex( co_edge_ptr ); CubitVector tmp(start_vertex_ptr->coordinates()); sideD = new SSSide( refFacePtr, chain, &tmp ); } else { for( i=side_interval[3]; i--; ) { co_edge_ptr = co_edge_list.get_and_step(); chain.append( co_edge_ptr ); } sideD = new SSSide( refFacePtr, chain ); } return CUBIT_SUCCESS; }
CubitStatus TDSplitSurface::add_d_coedges | ( | DLIList< CoEdge * > & | d_coedges, |
RefVertex * | start_vertex_ptr = NULL |
||
) |
Definition at line 177 of file TDSplitSurface.cpp.
{ if( start_vertex_ptr == NULL ) sideD = new SSSide( refFacePtr, d_coedges ); else { // Collapsed side (for triangle) CubitVector tmp(start_vertex_ptr->coordinates()); sideD = new SSSide( refFacePtr, d_coedges, &tmp ); } return CUBIT_SUCCESS; }
void TDSplitSurface::add_type | ( | int | type | ) |
CubitVector * TDSplitSurface::coord_list_get_and_back_c | ( | ) | [inline] |
Definition at line 368 of file TDSplitSurface.hpp.
{ return sideC->coord_list_get_and_back(); }
CubitVector * TDSplitSurface::coord_list_get_and_back_d | ( | ) | [inline] |
Definition at line 379 of file TDSplitSurface.hpp.
{ return sideD->coord_list_get_and_back(); }
CubitVector * TDSplitSurface::coord_list_get_and_step_a | ( | ) | [inline] |
Definition at line 350 of file TDSplitSurface.hpp.
{ return sideA->coord_list_get_and_step(); }
CubitVector * TDSplitSurface::coord_list_get_and_step_b | ( | ) | [inline] |
Definition at line 357 of file TDSplitSurface.hpp.
{ return sideB->coord_list_get_and_step(); }
CubitVector * TDSplitSurface::coord_list_get_and_step_c | ( | ) | [inline] |
Definition at line 366 of file TDSplitSurface.hpp.
{ return sideC->coord_list_get_and_step(); }
CubitVector * TDSplitSurface::coord_list_get_and_step_d | ( | ) | [inline] |
Definition at line 377 of file TDSplitSurface.hpp.
{ return sideD->coord_list_get_and_step(); }
void TDSplitSurface::coord_list_last_a | ( | ) |
void TDSplitSurface::coord_list_last_b | ( | ) |
void TDSplitSurface::coord_list_last_c | ( | ) | [inline] |
Definition at line 364 of file TDSplitSurface.hpp.
{ sideC->coord_list_last(); }
void TDSplitSurface::coord_list_last_d | ( | ) | [inline] |
Definition at line 375 of file TDSplitSurface.hpp.
{ sideD->coord_list_last(); }
void TDSplitSurface::coord_list_reset_a | ( | ) | [inline] |
Definition at line 348 of file TDSplitSurface.hpp.
{ sideA->coord_list_reset(); }
void TDSplitSurface::coord_list_reset_b | ( | ) | [inline] |
Definition at line 355 of file TDSplitSurface.hpp.
{ sideB->coord_list_reset(); }
void TDSplitSurface::coord_list_reset_c | ( | ) | [inline] |
Definition at line 362 of file TDSplitSurface.hpp.
{ sideC->coord_list_reset(); }
void TDSplitSurface::coord_list_reset_d | ( | ) | [inline] |
Definition at line 373 of file TDSplitSurface.hpp.
{ sideD->coord_list_reset(); }
int TDSplitSurface::coord_list_size_a | ( | ) | [inline] |
Definition at line 346 of file TDSplitSurface.hpp.
{ return sideA->coord_list_size(); }
int TDSplitSurface::coord_list_size_b | ( | ) | [inline] |
Definition at line 353 of file TDSplitSurface.hpp.
{ return sideB->coord_list_size(); }
int TDSplitSurface::coord_list_size_c | ( | ) | [inline] |
Definition at line 360 of file TDSplitSurface.hpp.
{ return sideC->coord_list_size(); }
int TDSplitSurface::coord_list_size_d | ( | ) | [inline] |
Definition at line 371 of file TDSplitSurface.hpp.
{ return sideD->coord_list_size(); }
DLIList< CoEdge * > * TDSplitSurface::get_a_coedges | ( | ) |
Definition at line 192 of file TDSplitSurface.cpp.
DLIList< CoEdge * > * TDSplitSurface::get_b_coedges | ( | ) |
Definition at line 198 of file TDSplitSurface.cpp.
DLIList< CoEdge * > * TDSplitSurface::get_c_coedges | ( | ) |
Definition at line 204 of file TDSplitSurface.cpp.
DLIList< CoEdge * > * TDSplitSurface::get_d_coedges | ( | ) |
Definition at line 210 of file TDSplitSurface.cpp.
int TDSplitSurface::get_type | ( | ) | [inline] |
Definition at line 334 of file TDSplitSurface.hpp.
{ return vertexType; }
CubitBoolean TDSplitSurface::is_a_collapsed | ( | ) | [inline] |
Definition at line 404 of file TDSplitSurface.hpp.
{ return sideA->is_collapsed(); }
CubitBoolean TDSplitSurface::is_b_collapsed | ( | ) | [inline] |
Definition at line 407 of file TDSplitSurface.hpp.
{ return sideB->is_collapsed(); }
CubitBoolean TDSplitSurface::is_c_collapsed | ( | ) | [inline] |
Definition at line 410 of file TDSplitSurface.hpp.
{ return sideC->is_collapsed(); }
CubitBoolean TDSplitSurface::is_d_collapsed | ( | ) | [inline] |
Definition at line 413 of file TDSplitSurface.hpp.
{ return sideD->is_collapsed(); }
static int TDSplitSurface::is_split_surface | ( | const ToolData * | td | ) | [inline, static] |
Definition at line 315 of file TDSplitSurface.hpp.
{return (CAST_TO(td, const TDSplitSurface) != NULL);}
double TDSplitSurface::length_a | ( | ) | [inline] |
Definition at line 337 of file TDSplitSurface.hpp.
double TDSplitSurface::length_b | ( | ) | [inline] |
Definition at line 339 of file TDSplitSurface.hpp.
double TDSplitSurface::length_c | ( | ) | [inline] |
Definition at line 341 of file TDSplitSurface.hpp.
double TDSplitSurface::length_d | ( | ) | [inline] |
Definition at line 343 of file TDSplitSurface.hpp.
double TDSplitSurface::param_list_get_a | ( | ) |
double TDSplitSurface::param_list_get_and_back_a | ( | ) |
double TDSplitSurface::param_list_get_and_back_b | ( | ) |
double TDSplitSurface::param_list_get_and_back_c | ( | ) | [inline] |
Definition at line 396 of file TDSplitSurface.hpp.
{ return sideC->param_list_get_and_back(); }
double TDSplitSurface::param_list_get_and_back_d | ( | ) | [inline] |
Definition at line 401 of file TDSplitSurface.hpp.
{ return sideD->param_list_get_and_back(); }
double TDSplitSurface::param_list_get_and_step_a | ( | ) | [inline] |
Definition at line 386 of file TDSplitSurface.hpp.
{ return sideA->param_list_get_and_step(); }
double TDSplitSurface::param_list_get_and_step_b | ( | ) | [inline] |
Definition at line 391 of file TDSplitSurface.hpp.
{ return sideB->param_list_get_and_step(); }
double TDSplitSurface::param_list_get_and_step_c | ( | ) |
double TDSplitSurface::param_list_get_and_step_d | ( | ) |
double TDSplitSurface::param_list_get_b | ( | ) |
double TDSplitSurface::param_list_get_c | ( | ) |
double TDSplitSurface::param_list_get_d | ( | ) |
void TDSplitSurface::param_list_last_a | ( | ) | [inline] |
Definition at line 384 of file TDSplitSurface.hpp.
{ sideA->param_list_last(); }
void TDSplitSurface::param_list_last_b | ( | ) |
void TDSplitSurface::param_list_last_c | ( | ) | [inline] |
Definition at line 394 of file TDSplitSurface.hpp.
{ sideC->param_list_last(); }
void TDSplitSurface::param_list_last_d | ( | ) | [inline] |
Definition at line 399 of file TDSplitSurface.hpp.
{ sideD->param_list_last(); }
void TDSplitSurface::param_list_reset_a | ( | ) | [inline] |
Definition at line 382 of file TDSplitSurface.hpp.
{ sideA->param_list_reset(); }
void TDSplitSurface::param_list_reset_b | ( | ) | [inline] |
Definition at line 389 of file TDSplitSurface.hpp.
{ sideB->param_list_reset(); }
void TDSplitSurface::param_list_reset_c | ( | ) |
void TDSplitSurface::param_list_reset_d | ( | ) |
RefFace * TDSplitSurface::ref_face_ptr | ( | ) | [inline] |
Definition at line 331 of file TDSplitSurface.hpp.
{ return refFacePtr; }
RefVertex * TDSplitSurface::start_vertex | ( | CoEdge * | co_edge_ptr | ) |
Definition at line 256 of file TDSplitSurface.cpp.
{ RefEdge *ref_edge_ptr = co_edge_ptr->get_ref_edge_ptr(); if ( co_edge_ptr->get_sense() == CUBIT_REVERSED ) return ref_edge_ptr->end_vertex(); else return ref_edge_ptr->start_vertex(); }
CubitStatus TDSplitSurface::tessellate_sides | ( | double | tol, |
double | fraction, | ||
double | distance, | ||
int | num_segs, | ||
DLIList< RefVertex * > & | through_vertex_list | ||
) |
Definition at line 216 of file TDSplitSurface.cpp.
{ // Sides B and D will use the graphics tessellation to build the // param lists. if( sideB->build_param_list_from_facets( tol ) == CUBIT_FAILURE ) return CUBIT_FAILURE; if( sideD->build_param_list_from_facets( tol ) == CUBIT_FAILURE ) return CUBIT_FAILURE; // Syncronize the lists so that we have the same number and evenly // spaced tessellations on B and D sides if( sideB->syncronize_lists( sideD, tol ) == CUBIT_FAILURE ) { PRINT_ERROR( "Unable to interpolate split location.\n" ); return CUBIT_FAILURE; } // Sides A and C typically only need to retrieve the 50% location, // but may have a location different than 50% or multiple locations. // Note if num_segs>2 the fraction is ignored. // Populate lists for side A if( sideA->build_param_list( fraction, distance, num_segs, through_vertex_list ) == CUBIT_FAILURE ) return CUBIT_FAILURE; // Populate lists for side C if( distance != -1.0 ) distance = sideC->length()-distance; if( sideC->build_param_list( 1.0-fraction, distance, num_segs, through_vertex_list ) == CUBIT_FAILURE ) return CUBIT_FAILURE; return CUBIT_SUCCESS; }
RefFace* TDSplitSurface::refFacePtr [private] |
Definition at line 320 of file TDSplitSurface.hpp.
SSSide* TDSplitSurface::sideA [private] |
Definition at line 322 of file TDSplitSurface.hpp.
SSSide* TDSplitSurface::sideB [private] |
Definition at line 323 of file TDSplitSurface.hpp.
SSSide* TDSplitSurface::sideC [private] |
Definition at line 324 of file TDSplitSurface.hpp.
SSSide* TDSplitSurface::sideD [private] |
Definition at line 325 of file TDSplitSurface.hpp.
int TDSplitSurface::vertexType [private] |
Definition at line 328 of file TDSplitSurface.hpp.