|
cgma
|
#include <assert.h>#include "CompositeEngine.hpp"#include "PartitionEngine.hpp"#include "DLIList.hpp"#include "TDUniqueId.hpp"#include "CubitTransformMatrix.hpp"#include "RTree.hpp"#include "CompositePoint.hpp"#include "CompositeCurve.hpp"#include "CompositeCoEdge.hpp"#include "CompositeLoop.hpp"#include "CompositeSurface.hpp"#include "CompositeShell.hpp"#include "CompositeLump.hpp"#include "CompositeBody.hpp"#include "GfxPreview.hpp"#include "PartitionPoint.hpp"#include "SegmentedCurve.hpp"#include "CADefines.hpp"#include "VGLoopTool.hpp"#include "Body.hpp"#include "LumpSM.hpp"#include "GeometryQueryTool.hpp"#include "AppUtil.hpp"#include "GeometryEvent.hpp"Go to the source code of this file.
Typedefs | |
| typedef VGLoopTool < CompositeSurface, CompositeLoop, CompositeCoEdge, CompositeCurve, CompositePoint > | CompLoopTool |
Functions | |
| static void | cme_hide_surface (HiddenEntitySet &set, CompositeSurface *surface) |
| static void | cme_unhide_surface (CompositeSurface *surf) |
| static CompositeCoSurf * | cme_create_cosurf (CompositeLump *lump, CompositeSurface *surf) |
| typedef VGLoopTool<CompositeSurface, CompositeLoop, CompositeCoEdge, CompositeCurve, CompositePoint> CompLoopTool |
Definition at line 38 of file CompositeEngine.cpp.
| static CompositeCoSurf* cme_create_cosurf | ( | CompositeLump * | lump, |
| CompositeSurface * | surf | ||
| ) | [static] |
Definition at line 4333 of file CompositeEngine.cpp.
{
Surface* real_surf = surf->get_surface(0);
DLIList<TopologyBridge*> shells, lumps(1);
real_surf->get_parents( shells );
while (shells.size())
{
TopologyBridge* shell = shells.pop();
lumps.clean_out();
shell->get_parents( lumps );
assert( lumps.size() == 1 );
TopologyBridge* real_lump = lumps.pop();
if (real_lump->owner() == lump)
{
CubitSense sense = real_surf->get_shell_sense( dynamic_cast<ShellSM*>(shell) );
if (sense == CUBIT_UNKNOWN)
sense = CUBIT_FORWARD;
else if (surf->get_sense(0) == CUBIT_REVERSED)
sense = (sense == CUBIT_REVERSED) ? CUBIT_FORWARD : CUBIT_REVERSED;
CompositeCoSurf* result = new CompositeCoSurf(sense);
surf->add( result );
return result;
}
}
return NULL;
}
| static void cme_hide_surface | ( | HiddenEntitySet & | set, |
| CompositeSurface * | surface | ||
| ) | [static] |
Definition at line 2413 of file CompositeEngine.cpp.
{
set.hide( surface );
CompositeLoop* loop = 0;
while (NULL != (loop = surface->next_loop( loop )))
{
set.hide( loop );
CompositeCoEdge* coedge = loop->first_coedge();
do {
set.hide( coedge );
bool hide_curve = true;
CompositeCurve* curve = coedge->get_curve();
CompositeCoEdge* curve_coedge = 0;
while ((curve_coedge = curve->next_coedge( curve_coedge )))
if (curve_coedge->owner() != &set)
{ hide_curve = false; break; }
if (hide_curve)
{
set.hide( curve );
int num_pts = 1 + (curve->start_point() == curve->end_point());
for (int i = 0; i < num_pts; i++)
{
CompositePoint* pnt = i ? curve->end_point() : curve->start_point();
bool hide_pnt = true;
CompositeCurve* pnt_curve = 0;
while ((pnt_curve = pnt->next_curve( pnt_curve )))
if (pnt_curve->owner() != &set)
{ hide_pnt = false; break; }
if (hide_pnt)
set.hide( pnt );
}
}
} while((coedge = loop->next_coedge(coedge)) != loop->first_coedge());
}
}
| static void cme_unhide_surface | ( | CompositeSurface * | surf | ) | [static] |
Definition at line 2453 of file CompositeEngine.cpp.
{
HiddenEntitySet* set = dynamic_cast<HiddenEntitySet*>(surf->owner());
assert( !!set );
set->restore( surf );
CompositeLoop* loop = 0;
while (NULL != (loop = surf->next_loop( loop )))
{
set->restore( loop );
CompositeCoEdge* coedge = loop->first_coedge();
do {
if (coedge->owner() == set)
{
CompositeCurve* curve = coedge->get_curve();
set->restore( coedge );
set->restore( curve );
if (curve->start_point()->owner() == set)
set->restore( curve->start_point() );
if (curve->end_point()->owner() == set)
set->restore( curve->end_point() );
}
} while ((coedge = loop->next_coedge(coedge)) != loop->first_coedge());
}
}