cgma
PST_CoEdge Class Reference

#include <PST_Data.hpp>

List of all members.

Public Member Functions

PST_CoEdgenext ()
PST_Edgeedge ()
PST_Faceface ()
CubitSense sense ()
PST_Pointstart_point ()
PST_Pointend_point ()
PST_Pointcommon (PST_CoEdge *coedge)
PST_Pointother (PST_Point *point)
const CubitVectorstart_coord ()
const CubitVectorend_coord ()
CubitVector direction ()
PST_CoEdgeother ()
PST_CoEdgeprevious ()
int validate (CubitBoolean print=CUBIT_FALSE)

Private Member Functions

 PST_CoEdge ()
 PST_CoEdge (PST_Edge *owner)
 ~PST_CoEdge ()

Private Attributes

PST_CoEdgenext_
PST_Edgeedge_
PST_Faceface_

Friends

class PST_Edge

Detailed Description

Definition at line 121 of file PST_Data.hpp.


Constructor & Destructor Documentation

PST_CoEdge::PST_CoEdge ( ) [inline, private]

Definition at line 155 of file PST_Data.hpp.

      : next_(0), edge_(0), face_(0)
      { }
PST_CoEdge::PST_CoEdge ( PST_Edge owner) [inline, private]

Definition at line 159 of file PST_Data.hpp.

      : next_(0), edge_(owner), face_(0)
      { }
PST_CoEdge::~PST_CoEdge ( ) [inline, private]

Definition at line 163 of file PST_Data.hpp.

      { assert( !face_ ); } 

Member Function Documentation

PST_Point* PST_CoEdge::common ( PST_CoEdge coedge) [inline]

Definition at line 501 of file PST_Data.hpp.

PST_Edge* PST_CoEdge::edge ( ) [inline]

Definition at line 130 of file PST_Data.hpp.

      { return edge_; }
const CubitVector & PST_CoEdge::end_coord ( ) [inline]

Definition at line 496 of file PST_Data.hpp.

{
  return sense() == CUBIT_FORWARD ? edge_->end_coord() : edge_->start_coord();
}

Definition at line 481 of file PST_Data.hpp.

{
  return sense() == CUBIT_FORWARD ? edge_->end_point() : edge_->start_point();
}
PST_Face* PST_CoEdge::face ( ) [inline]

Definition at line 133 of file PST_Data.hpp.

      { return face_; }

Definition at line 127 of file PST_Data.hpp.

      { return next_; }
PST_Point * PST_CoEdge::other ( PST_Point point) [inline]

Definition at line 486 of file PST_Data.hpp.

{
  return edge_->other( point );
}
PST_CoEdge * PST_CoEdge::other ( ) [inline]

Definition at line 508 of file PST_Data.hpp.

{
  return edge_->other(this);
}

Definition at line 226 of file PST_Data.cpp.

{
  if( !next_ )
    return 0;
    
  PST_CoEdge* coedge = this;
#ifndef NDEBUG
  int debug = 0;
#endif
  while( coedge->next_ != this )
  {
    coedge = coedge->next_;
#ifndef NDEBUG
    assert( ++debug < PST_MAX_LIST_LEN );
#endif
  }
  return coedge;
}

Definition at line 471 of file PST_Data.hpp.

{
  return edge_->sense(this);
}
const CubitVector & PST_CoEdge::start_coord ( ) [inline]

Definition at line 491 of file PST_Data.hpp.

{
  return sense() == CUBIT_FORWARD ? edge_->start_coord() : edge_->end_coord();
}

Definition at line 476 of file PST_Data.hpp.

{
  return sense() == CUBIT_FORWARD ? edge_->start_point() : edge_->end_point();
}

Definition at line 1123 of file PST_Data.cpp.

{
  int result = 0;
  if( ! edge_ )
  {
    if( print ) PRINT_ERROR("Coedge %p has null edge.\n", (void*)this);
    result++;
  }
  else 
  {
    if( ! edge_->other( this ) )
    {
      if( print ) 
        PRINT_ERROR( "Inconsistent coedge->edge link.  CoEdge: %p  Edge: %p\n",
          (void*)edge_, (void*)this );
      result++;
    }
    result += edge_->validate(print);
  }
  return result;
}

Friends And Related Function Documentation

friend class PST_Edge [friend]

Definition at line 123 of file PST_Data.hpp.


Member Data Documentation

Definition at line 167 of file PST_Data.hpp.

Definition at line 168 of file PST_Data.hpp.

Definition at line 166 of file PST_Data.hpp.


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