OrcaSlicer latest
OrcaSlicer
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

IntersectingElement & set_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 
195 : unsigned char {
196 edge_1 = 0,
197 face_1 = 1,
198 edge_2 = 2,
199 face_2 = 3,
200 undefined = 4
201 };

Member Function Documentation

◆ get_type()

Type priv::IntersectingElement::get_type ( ) const
inline
211{ return static_cast<Type>(attr % 8);}
unsigned char attr
Definition CutSurface.cpp:185
Type
Definition CutSurface.cpp:195

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
212{ 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
213{ 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
209{ 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
210{ attr += 16; }

References attr.

Referenced by priv::to_cgal().

Here is the caller graph for this function:

◆ set_type()

IntersectingElement & priv::IntersectingElement::set_type ( Type t)
inline
204 {
205 attr = static_cast<unsigned char>(
206 attr + (int) t - (int) get_type());
207 return *this;
208 }
Type get_type() const
Definition CutSurface.cpp:211

References attr, and get_type().

Referenced by priv::to_cgal().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ attr

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

◆ shape_point_index

uint32_t priv::IntersectingElement::shape_point_index {std::numeric_limits<uint32_t>::max()}

The documentation for this struct was generated from the following file:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/CutSurface.cpp