cgma
PartitionCoEdge Class Reference

#include <PartitionCoEdge.hpp>

Inheritance diagram for PartitionCoEdge:
CoEdgeSM PartitionEntity TopologyBridge

List of all members.

Public Member Functions

 PartitionCoEdge (PartitionSurface *surf, CubitSense sense)
 PartitionCoEdge (PartitionCoEdge *split_from)
 PartitionCoEdge (CoEdgeSM *coedge)
 ~PartitionCoEdge ()
PartitionCurveget_curve () const
PartitionLoopget_loop () const
PartitionCoEdgenext () const
TopologyBridgefind_parent_loop () const
CoEdgeSMreal_coedge () const
CubitSense sense ()
PartitionPointstart_point () const
PartitionPointend_point () const
void reverse_sense ()
virtual CubitBox bounding_box () const
virtual CubitStatus save (CubitSimpleAttrib &)
virtual void transform (const CubitTransformMatrix &)
void append_simple_attribute_virt (const CubitSimpleAttrib &)
void remove_simple_attribute_virt (const CubitSimpleAttrib &)
void remove_all_simple_attribute_virt ()
CubitStatus get_simple_attribute (DLIList< CubitSimpleAttrib > &)
CubitStatus get_simple_attribute (const CubitString &name, DLIList< CubitSimpleAttrib > &)
void get_parents_virt (DLIList< TopologyBridge * > &)
void get_children_virt (DLIList< TopologyBridge * > &)
int layer () const
GeometryQueryEngineget_geometry_query_engine () const
void notify_split (FacetEntity *, FacetEntity *)

Private Member Functions

 PartitionCoEdge (const PartitionCoEdge &)

Private Attributes

CubitSense mySense
PartitionLoopmyLoop
PartitionCoEdgeloopPrev
PartitionCoEdgeloopNext
PartitionCurvemyCurve
PartitionCoEdgecurveNext

Friends

class PartitionLoop
class PartitionCurve

Detailed Description

Definition at line 24 of file PartitionCoEdge.hpp.


Constructor & Destructor Documentation

Definition at line 8 of file PartitionCoEdge.cpp.

  : mySense(sense),
    myLoop(0), 
    loopPrev(0),
    loopNext(0),
    myCurve(0), 
    curveNext(0)
{ 
  surf->sub_entity_set().add_lower_order( this );
}

Definition at line 31 of file PartitionCoEdge.cpp.

  : myLoop(0), 
    loopPrev(0),
    loopNext(0),
    myCurve(0), 
    curveNext(0)
{
  mySense = split_from->mySense;
  if( split_from->real_coedge() )
  {
    split_from->sub_entity_set().add_partition( this, split_from );
  }
  else
  {
    split_from->sub_entity_set().add_lower_order( this );
  }
}

Definition at line 19 of file PartitionCoEdge.cpp.

  : myLoop(0), 
    loopPrev(0),
    loopNext(0),
    myCurve(0), 
    curveNext(0)
{
  mySense = coedge->sense();
  assert( dynamic_cast<SubEntitySet*>(coedge->owner()) == 0 );
  new SubEntitySet( coedge, this );
}

Definition at line 49 of file PartitionCoEdge.cpp.

{
  if( myCurve )
    myCurve->remove(this);
  if( myLoop )
    myLoop->remove(this);
  
  assert( !myCurve && !myLoop );
}

Member Function Documentation

Implements TopologyBridge.

Definition at line 103 of file PartitionCoEdge.cpp.

  { }
CubitBox PartitionCoEdge::bounding_box ( void  ) const [virtual]

Implements PartitionEntity.

Definition at line 151 of file PartitionCoEdge.cpp.

  { return ((Curve*)get_curve())->bounding_box(); }

Definition at line 135 of file PartitionCoEdge.cpp.

{
  PartitionPoint* result = 0;
  if( myCurve )
  {
    if( mySense == CUBIT_FORWARD )
      result = myCurve->end_point();
    else if( mySense == CUBIT_REVERSED )
      result = myCurve->start_point();
  }
  return result;
}

Definition at line 66 of file PartitionCoEdge.cpp.

{
  if( get_loop() )
    return get_loop();
  
  CoEdgeSM* coedge = real_coedge();
  if( !coedge )
    return 0;
  
  DLIList<TopologyBridge*> list;
  coedge->get_parents_virt( list );
  assert( list.size() == 1 );
  return list.get();
}

Implements TopologyBridge.

Definition at line 87 of file PartitionCoEdge.cpp.

{
  assert( myCurve != NULL );
  list.append( myCurve );
}

Definition at line 38 of file PartitionCoEdge.hpp.

      { return myCurve; }

Definition at line 40 of file PartitionCoEdge.hpp.

      { return myLoop; }
void PartitionCoEdge::get_parents_virt ( DLIList< TopologyBridge * > &  list) [virtual]

Implements TopologyBridge.

Definition at line 94 of file PartitionCoEdge.cpp.

{
  TopologyBridge* result = find_parent_loop();
  assert( result != NULL );
  list.append( result );
}

Implements TopologyBridge.

Definition at line 109 of file PartitionCoEdge.cpp.

  { return CUBIT_FAILURE; }

Implements TopologyBridge.

Definition at line 111 of file PartitionCoEdge.cpp.

  { return CUBIT_FAILURE; }
int PartitionCoEdge::layer ( ) const [inline, virtual]

Reimplemented from TopologyBridge.

Definition at line 72 of file PartitionCoEdge.hpp.

Definition at line 43 of file PartitionCoEdge.hpp.

      { return loopNext; }
void PartitionCoEdge::notify_split ( FacetEntity ,
FacetEntity  
) [virtual]

Implements PartitionEntity.

Definition at line 148 of file PartitionCoEdge.cpp.

  { assert(0); }

Definition at line 81 of file PartitionCoEdge.cpp.

{
  return dynamic_cast<CoEdgeSM*>(partitioned_entity());
    // this will be null for coedges of segmented (split) curves.
}

Implements TopologyBridge.

Definition at line 107 of file PartitionCoEdge.cpp.

  { }

Implements TopologyBridge.

Definition at line 105 of file PartitionCoEdge.cpp.

  { }
virtual CubitStatus PartitionCoEdge::save ( CubitSimpleAttrib ) [inline, virtual]

Implements PartitionEntity.

Definition at line 58 of file PartitionCoEdge.hpp.

      { assert(0); return CUBIT_FAILURE; }
CubitSense PartitionCoEdge::sense ( ) [inline, virtual]

Implements CoEdgeSM.

Definition at line 49 of file PartitionCoEdge.hpp.

      { return mySense; }

Definition at line 122 of file PartitionCoEdge.cpp.

{
  PartitionPoint* result = 0;
  if( myCurve )
  {
    if( mySense == CUBIT_FORWARD )
      result = myCurve->start_point();
    else if( mySense == CUBIT_REVERSED )
      result = myCurve->end_point();
  }
  return result;
}
virtual void PartitionCoEdge::transform ( const CubitTransformMatrix ) [inline, virtual]

Implements PartitionEntity.

Definition at line 60 of file PartitionCoEdge.hpp.

{;}

Friends And Related Function Documentation

friend class PartitionCurve [friend]

Definition at line 28 of file PartitionCoEdge.hpp.

friend class PartitionLoop [friend]

Definition at line 27 of file PartitionCoEdge.hpp.


Member Data Documentation

Definition at line 88 of file PartitionCoEdge.hpp.

Definition at line 85 of file PartitionCoEdge.hpp.

Definition at line 84 of file PartitionCoEdge.hpp.

Definition at line 87 of file PartitionCoEdge.hpp.

Definition at line 83 of file PartitionCoEdge.hpp.

Definition at line 81 of file PartitionCoEdge.hpp.


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