Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
priv::IntersectingElement Struct Reference

IntersectingElement. More...

Public Types

enum class  Type : unsigned char {
  edge_1 = 0 , face_1 = 1 , edge_2 = 2 , face_2 = 3 ,
  undefined = 4
}
 

Public Member Functions

IntersectingElementset_type (Type t)
 
void set_is_first ()
 
void set_is_last ()
 
Type get_type () const
 
bool is_first () const
 
bool is_last () const
 

Public Attributes

uint32_t shape_point_index {std::numeric_limits<uint32_t>::max()}
 
unsigned char attr {std::numeric_limits<unsigned char>::max()}
 

Detailed Description

IntersectingElement.

Adress polygon inside of ExPolygon Keep information about source of vertex:

  • from face (one of 2 possible)
  • from edge (one of 2 possible)

V1~~~~~V2 | f1 /: | / : e1| /e2: | / : |/ f2 : V1'~~~~V2'

| .. edge / .. edge : .. foreign edge - neighbor ~ .. no care edge - idealy should not cross model V1,V1' .. projected 2d point to 3d V2,V2' .. projected 2d point to 3d

Vertex indexing V1 .. i (vertex_base + 2x index of point in polygon) V1' .. i + 1 V2 .. j = i + 2 || 0 (for last i in polygon) V2' .. j + 1

f1 .. text_face_1 (triangle face made by side of shape contour) f2 .. text_face_2 e1 .. text_edge_1 (edge on side of face made by side of shape contour) e2 .. text_edge_2

Member Enumeration Documentation

◆ Type

enum class priv::IntersectingElement::Type : unsigned char
strong
Enumerator
edge_1 
face_1 
edge_2 
face_2 
undefined 

Member Function Documentation

◆ get_type()

Type priv::IntersectingElement::get_type ( ) const
inline
177{ return static_cast<Type>(attr % 8);}
Type
Definition CustomGCode.hpp:14
unsigned char attr
Definition CutSurface.cpp:151

References attr.

Referenced by priv::create_reduce_map(), priv::is_face_inside(), priv::is_over_whole_expoly(), and set_type().

+ Here is the caller graph for this function:

◆ is_first()

bool priv::IntersectingElement::is_first ( ) const
inline
178{ return 8 <= attr && attr < 16; }

References attr.

Referenced by priv::is_face_inside(), and priv::is_over_whole_expoly().

+ Here is the caller graph for this function:

◆ is_last()

bool priv::IntersectingElement::is_last ( ) const
inline
179{ return attr >= 16; }

References attr.

Referenced by priv::is_face_inside(), and priv::is_over_whole_expoly().

+ Here is the caller graph for this function:

◆ set_is_first()

void priv::IntersectingElement::set_is_first ( )
inline
175{ attr += 8; }

References attr.

Referenced by priv::to_cgal().

+ Here is the caller graph for this function:

◆ set_is_last()

void priv::IntersectingElement::set_is_last ( )
inline
176{ attr += 16; }

References attr.

◆ set_type()

IntersectingElement & priv::IntersectingElement::set_type ( Type  t)
inline
170 {
171 attr = static_cast<unsigned char>(
172 attr + (int) t - (int) get_type());
173 return *this;
174 }
Type get_type() const
Definition CutSurface.cpp:177

References attr, and get_type().

+ Here is the call graph for this function:

Member Data Documentation

◆ attr

unsigned char priv::IntersectingElement::attr {std::numeric_limits<unsigned char>::max()}

◆ shape_point_index


The documentation for this struct was generated from the following file: