KiCad PCB EDA Suite
Loading...
Searching...
No Matches
MODEL_ALIGN Namespace Reference

Classes

struct  ALIGN_SOLUTION
 
struct  PAD
 
struct  REGION
 

Enumerations

enum class  PAD_ATTRIBUTE { SMD , THROUGH_HOLE , OTHER }
 
enum class  SOLUTION_KIND { FULL , SUBSET , PARTIAL , SINGLE_PAIR }
 

Functions

std::vector< REGIONBuildRegions (const S3DMODEL &aModel, const glm::dvec3 &aScale)
 
std::vector< PADBuildPadGroup (const std::vector< PAD > &aPads, size_t aClickedPad)
 Return the clicked pad first, followed by its congruent, deduplicated peers.
 
std::vector< ALIGN_SOLUTIONSolveAlignment (const std::vector< REGION > &aRegions, size_t aSeed, const std::vector< PAD > &aPadGroup, const std::vector< PAD > &aAllPads, const glm::dvec3 &aCurrentRotation)
 The first element of aPadGroup must be the clicked pad; all coordinates are millimetres, Y up.
 

Enumeration Type Documentation

◆ PAD_ATTRIBUTE

enum class MODEL_ALIGN::PAD_ATTRIBUTE
strong
Enumerator
SMD 
THROUGH_HOLE 
OTHER 

Definition at line 34 of file 3d_model_align.h.

◆ SOLUTION_KIND

enum class MODEL_ALIGN::SOLUTION_KIND
strong
Enumerator
FULL 
SUBSET 
PARTIAL 
SINGLE_PAIR 

Definition at line 51 of file 3d_model_align.h.

Function Documentation

◆ BuildPadGroup()

std::vector< PAD > MODEL_ALIGN::BuildPadGroup ( const std::vector< PAD > & aPads,
size_t aClickedPad )

Return the clicked pad first, followed by its congruent, deduplicated peers.

Definition at line 501 of file 3d_model_align.cpp.

References MODEL_ALIGN::PAD::attribute, duplicate, OTHER, pad, result, and THROUGH_HOLE.

Referenced by PANEL_PREVIEW_3D_MODEL::pickAlignment().

◆ BuildRegions()

◆ SolveAlignment()

std::vector< ALIGN_SOLUTION > MODEL_ALIGN::SolveAlignment ( const std::vector< REGION > & aRegions,
size_t aSeed,
const std::vector< PAD > & aPadGroup,
const std::vector< PAD > & aAllPads,
const glm::dvec3 & aCurrentRotation )