|
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.