#include <opennurbs_subd.h>
|  | 
| static bool | CheckStrip (const ON_SimpleArray< ON_SubDQuadFacePackSide > &strip) | 
|  | 
| static bool | CheckStrip (const ON_SubDQuadFacePackSide *strip, unsigned strip_count) | 
|  | 
| static const ON_SubDQuadFacePackSide | Create (const ON_SubDFace *face, unsigned int edge_dex) | 
|  | 
| static bool | GetPackSeed (const ON_SubDFace *face, unsigned count, ON_SubDQuadFacePackSide group[ON_SubDQuadFacePackSide::SeedCapacity][ON_SubDQuadFacePackSide::SeedCapacity]) | 
|  | 
| static unsigned | GetStrip (ON_SubDQuadFacePackSide f, bool bStopAtCrease, bool bStopAtExtraordinaryHop, ON_SimpleArray< ON_SubDQuadFacePackSide > &strip, unsigned strip_capacity) | 
|  | 
| static unsigned | GetStrip (ON_SubDQuadFacePackSide f, bool bStopAtCrease, bool bStopAtExtraordinaryHop, ON_SubDQuadFacePackSide *strip, unsigned strip_capacity) | 
|  | 
| static unsigned | GetStrip (ON_SubDQuadFacePackSide f, ON_SimpleArray< ON_SubDQuadFacePackSide > &strip, unsigned strip_capacity) | 
|  | 
| static unsigned | GetStrip (ON_SubDQuadFacePackSide f, ON_SubDQuadFacePackSide *strip, unsigned strip_capacity) | 
|  | 
| static bool | IsOrdinaryHop (ON_SubDQuadFacePackSide f0, ON_SubDQuadFacePackSide f1) | 
|  | 
| static bool | IsPackableFace (const ON_SubDFace *face) | 
|  | 
| static const ON_2udex | QuadPackIsValid (const ON_SubDQuadFacePackSide seed, bool bInQuadPackMark) | 
|  | 
| static void | ReverseStrip (ON_SubDQuadFacePackSide *strip, unsigned strip_count) | 
|  | 
| static void | SetStripMark (bool bMark, const ON_SubDQuadFacePackSide *strip, unsigned count) | 
|  | 
| static bool | StripsAreNeighbors (const ON_SubDQuadFacePackSide *strip0, unsigned strip0_side_dex, const ON_SubDQuadFacePackSide *strip1, unsigned strip1_side_dex, unsigned count) | 
|  | 
◆ anonymous enum
      
        
          | anonymous enum : unsigned | 
      
 
 
◆ CheckStrip() [1/2]
◆ CheckStrip() [2/2]
◆ Create()
◆ Edge()
      
        
          | const ON_SubDEdge* ON_SubDQuadFacePackSide::Edge | ( |  | ) | const | 
      
 
 
◆ EdgeDex()
      
        
          | unsigned ON_SubDQuadFacePackSide::EdgeDex | ( |  | ) | const | 
      
 
 
◆ EdgeId()
      
        
          | unsigned ON_SubDQuadFacePackSide::EdgeId | ( |  | ) | const | 
      
 
 
◆ EdgeMark()
      
        
          | bool ON_SubDQuadFacePackSide::EdgeMark | ( | bool | bNullEdgeResult | ) | const | 
      
 
Returns: If this->Edge() is not nullptr, this->Edge()->Mark() is returned. Otherwise, bNullEdgeResult is returned. 
 
 
◆ EdgePtr()
◆ Face()
      
        
          | const ON_SubDFace* ON_SubDQuadFacePackSide::Face | ( |  | ) | const | 
      
 
 
◆ FaceId()
      
        
          | unsigned ON_SubDQuadFacePackSide::FaceId | ( |  | ) | const | 
      
 
 
◆ FaceMark()
      
        
          | bool ON_SubDQuadFacePackSide::FaceMark | ( | bool | bNullFaceResult | ) | const | 
      
 
Returns: If this->Face() is not nullptr, this->Face()->Mark() is returned. Otherwise, bNullFaceResult is returned. 
 
 
◆ GetPackSeed()
  
  | 
        
          | static bool ON_SubDQuadFacePackSide::GetPackSeed | ( | const ON_SubDFace * | face, |  
          |  |  | unsigned | count, |  
          |  |  | ON_SubDQuadFacePackSide | group[ON_SubDQuadFacePackSide::SeedCapacity][ON_SubDQuadFacePackSide::SeedCapacity] |  
          |  | ) |  |  |  | static | 
 
 
◆ GetStrip() [1/4]
◆ GetStrip() [2/4]
◆ GetStrip() [3/4]
◆ GetStrip() [4/4]
◆ IsNotNull()
      
        
          | bool ON_SubDQuadFacePackSide::IsNotNull | ( |  | ) | const | 
      
 
 
◆ IsNull()
      
        
          | bool ON_SubDQuadFacePackSide::IsNull | ( |  | ) | const | 
      
 
 
◆ IsOrdinaryHop()
Parameters: f0 - [in] f1 - [in] Returns: If all of the following conditions are true, then true is returned. Otherwise false is returned.
- f0 and f1 reference distinct non null faces.
- f0.RelativeEdge(0) and f1.RelativeEdge(0) is the same smooth edge.
- f0 and f1 have compatible orientations across the shared edge.
- At each end of the shared edge, the vertices is either 4.1 smooth with 4 edges and 4 faces OR 4.2 a crease and the associated sides of f0 and f1 are also creases. 
 
 
◆ IsPackable()
      
        
          | bool ON_SubDQuadFacePackSide::IsPackable | ( |  | ) | const | 
      
 
 
◆ IsPackableFace()
  
  | 
        
          | static bool ON_SubDQuadFacePackSide::IsPackableFace | ( | const ON_SubDFace * | face | ) |  |  | static | 
 
Returns: If face is is a quad, face->Mark() is false, and 0 == face->PackId(), then face is not modified and true is returned. Otherwise, face->Mark is set to true and false is returned. 
 
 
◆ LeftFace()
◆ Mark()
      
        
          | bool ON_SubDQuadFacePackSide::Mark | ( |  | ) | const | 
      
 
 
◆ NeigborFace() [1/2]
Description: Most of the time, you want to use NextFace() or PrevFace() instead of this function. In particular, to interatate forward along a strip of quads, use NextFace(). To iterate backwards along a strip of quads use PrevFace(). This function gets a ON_SubDQuadFacePackSide that references a neighboring face and shares the referenced edge with this. (Think of neighbors talking across a fence). Parameters: bStopAtCrease - [in] If true, a crease edge will not be traversed. Returns: If this->Edge() is attached to 2 quad faces and the faces have compatible orientations, then a ON_SubDQuadFacePackSide referencing the neighboring quad and this->Edge() is returned. Otherwise ON_SubDQuadFacePackSide::Null is returned. 
 
 
◆ NeigborFace() [2/2]
      
        
          | const ON_SubDQuadFacePackSide ON_SubDQuadFacePackSide::NeigborFace | ( | unsigned | relative_side_dex, | 
        
          |  |  | bool | bStopAtCrease | 
        
          |  | ) |  | const | 
      
 
Description: Most of the time, you want to use NextFace() or PrevFace() instead of this function. In particular, to interatate forward along a strip of quads, use NextFace(). To iterate backwards along a strip of quads use PrevFace(). This function gets a ON_SubDQuadFacePackSide that references a neighboring face and shares the referenced edge with this. (Think of neighbors talking across a fence). Parameters: relative_side_dex - [in] 0 <= relative_side_dex < 4 0 references this->Edge(). bStopAtCrease - [in] If true, a crease edge will not be traversed. Returns: If this->RelativeEdge(relative_side_dex) is attached to 2 quad faces and the faces have compatible orientations, then a ON_SubDQuadFacePackSide referencing the neighboring quad and this->RelativeEdge(relative_side_dex) is returned. Otherwise ON_SubDQuadFacePackSide::Null is returned. 
 
 
◆ NextFace()
Description: Use NextFace() to iterate forwards along a strip of quads. The active edge of the returned ON_SubDQuadFacePackSide is opposite from this ON_SubDQuadFacePackSide. Parameters: bStopAtCrease - [in] If true, a crease edge will not be traversed. Returns: Gets ON_SubDQuadFacePackSide that references the neighboring quad and sets the reference edge to be oppisite the edge between this->Face() and this->NextFace(...).Face(). If there is not a neighboring quad or the quad orientations are not compatible or bStopAtCrease is true and the separating edge is a crease, then ON_SubDQuadFacePackSide::Null is returned. 
 
 
◆ PackId()
      
        
          | unsigned ON_SubDQuadFacePackSide::PackId | ( |  | ) | const | 
      
 
 
◆ PrevFace()
Description: Use PrevFace() to iterate backwards along a strip of quads. The active edge of the returned ON_SubDQuadFacePackSide is shared with this ON_SubDQuadFacePackSide. Parameters: bStopAtCrease - [in] If true, a crease edge will not be traversed. Returns: Gets ON_SubDQuadFacePackSide that references the neighboring quad and sets the reference edge to be oppisite the edge between this->Face() and this->PrevFace(...).Face(). If there is not a neighboring quad or the quad orientations are not compatible or bStopAtCrease is true and the separating edge is a crease, then ON_SubDQuadFacePackSide::Null is returned. 
 
 
◆ QuadPackIsValid()
Description: Determines if the subd face pack containing seed is valid. Parameters: bPermitWrapping - [in] If true, then the face pack is allowed to wrap. For example, if bPermitWrapping is true, then a SubD cylinder that is a regular quad grid can have a single face pack. seed - [in] References any face in a SubD. Returns: If seed is in a valid quad grid,the pack id is seed.PackId() and the size of the grid is ON_2dex.i x ON_2dex.j. Otherwise ON_2udex::Zero is returned. 
 
 
◆ RelativeEdge()
      
        
          | const ON_SubDEdge* ON_SubDQuadFacePackSide::RelativeEdge | ( | unsigned | relative_side_dex | ) | const | 
      
 
 
◆ RelativeEdgeId()
      
        
          | unsigned int ON_SubDQuadFacePackSide::RelativeEdgeId | ( | unsigned | relative_side_dex | ) | const | 
      
 
 
◆ RelativeEdgePtr()
      
        
          | const ON_SubDEdgePtr ON_SubDQuadFacePackSide::RelativeEdgePtr | ( | unsigned | relative_side_dex | ) | const | 
      
 
 
◆ RelativeSide()
◆ ReverseStrip()
◆ RightFace()
◆ SetEdgeMark()
      
        
          | bool ON_SubDQuadFacePackSide::SetEdgeMark | ( | bool | bEdgeMark | ) | const | 
      
 
Parameters: bEdgeeMark - [in] Returns: True if this->Edge() is not nullptr and the mark was set. False if this->Edge() is nullptr. 
 
 
◆ SetFaceMark()
      
        
          | bool ON_SubDQuadFacePackSide::SetFaceMark | ( | bool | bFaceMark | ) | const | 
      
 
Parameters: bFaceMark - [in] Returns: True if this->Face() is not nullptr and the mark was set. False if this->Face() is nullptr. 
 
 
◆ SetMark()
      
        
          | void ON_SubDQuadFacePackSide::SetMark | ( | bool | bFaceMark | ) | const | 
      
 
- Deprecated:
- Use ON_SubDQuadFacePackSide::SetFaceMark(bFaceMark) 
 
 
◆ SetPackId()
      
        
          | void ON_SubDQuadFacePackSide::SetPackId | ( | unsigned int | pack_id | ) |  | 
      
 
 
◆ SetStripMark()
  
  | 
        
          | static void ON_SubDQuadFacePackSide::SetStripMark | ( | bool | bMark, |  
          |  |  | const ON_SubDQuadFacePackSide * | strip, |  
          |  |  | unsigned | count |  
          |  | ) |  |  |  | static | 
 
 
◆ StripsAreNeighbors()
◆ Null