BRL-CAD
Loading...
Searching...
No Matches
assembly.h File Reference
#include "common.h"
#include "brep/defines.h"
#include <string>
Include dependency graph for assembly.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  brep_assembly_result
 

Enumerations

enum  brep_assembly_error {
  BREP_ASSEMBLY_OK = 0 , BREP_ASSEMBLY_INVALID_TOLERANCE , BREP_ASSEMBLY_VERTEX_MERGE_FAILED , BREP_ASSEMBLY_EDGE_MERGE_FAILED ,
  BREP_ASSEMBLY_CULL_FAILED , BREP_ASSEMBLY_ORIENTATION_FAILED , BREP_ASSEMBLY_VALIDATION_FAILED , BREP_ASSEMBLY_TOLERANCE_FAILED
}
 

Functions

bool brep_curves_coincident (const ON_Curve &first, const ON_Curve &second, double tolerance, bool *reversed=NULL)
 
int brep_stitch_naked_edges (ON_Brep &brep, double tolerance, brep_assembly_result *result=NULL)
 
bool brep_set_edge_endpoint_tolerances (ON_Brep &brep, double minimum_tolerance)
 
bool brep_orient_faces (ON_Brep &brep)
 
bool brep_assemble (ON_Brep &brep, double tolerance, brep_assembly_result *result=NULL)
 

Detailed Description

Assemble independently constructed trimmed faces into shared OpenNURBS topology. These routines do not standardize or compact a B-Rep.

Definition in file assembly.h.

Enumeration Type Documentation

◆ brep_assembly_error

Enumerator
BREP_ASSEMBLY_OK 
BREP_ASSEMBLY_INVALID_TOLERANCE 
BREP_ASSEMBLY_VERTEX_MERGE_FAILED 
BREP_ASSEMBLY_EDGE_MERGE_FAILED 
BREP_ASSEMBLY_CULL_FAILED 
BREP_ASSEMBLY_ORIENTATION_FAILED 
BREP_ASSEMBLY_VALIDATION_FAILED 
BREP_ASSEMBLY_TOLERANCE_FAILED 

Definition at line 32 of file assembly.h.

Function Documentation

◆ brep_curves_coincident()

bool brep_curves_coincident ( const ON_Curve first,
const ON_Curve second,
double  tolerance,
bool reversed = NULL 
)
extern

Bound whether two curves trace the same locus within tolerance. Returns false when refinement cannot establish coincidence within its work limit. Point samples alone never establish a match.

◆ brep_stitch_naked_edges()

int brep_stitch_naked_edges ( ON_Brep brep,
double  tolerance,
brep_assembly_result result = NULL 
)
extern

Merge unambiguous pairs of coincident naked edges in place.

Each retained edge acquires the trims from its duplicate. Face pcurves are not changed. Returns the number of merged edges, or -1 on an OpenNURBS topology error. Ambiguous matches are deliberately left naked.

◆ brep_set_edge_endpoint_tolerances()

bool brep_set_edge_endpoint_tolerances ( ON_Brep brep,
double  minimum_tolerance 
)
extern

Derive edge tolerances required by authored vertex and trim endpoints. Geometry is not changed; existing larger tolerances are preserved.

◆ brep_orient_faces()

bool brep_orient_faces ( ON_Brep brep)
extern

Make face orientations consistent in a closed two-manifold B-Rep.

◆ brep_assemble()

bool brep_assemble ( ON_Brep brep,
double  tolerance,
brep_assembly_result result = NULL 
)
extern

Stitch, orient, derive tolerances and flags, and validate an assembled B-Rep. The return value reports whether the resulting B-Rep is valid; solidity and incomplete topology are reported separately in result.