NDEVR
API Documentation
BulgeConverter.h
1#pragma once
2#include <NDEVR/AngleDefinitions.h>
3#include <NDEVR/Vertex.h>
4namespace NDEVR
5{
10 {
21 static Vertex<3, fltp08> LineIntersection(double lineAx1, double lineAy1,
22 double lineAx2, double lineAy2,
23 double lineBx1, double lineBy1,
24 double lineBx2, double lineBy2);
33 static bool IsArcClockwise(double startx, double starty, double midx, double midy, double endx, double endy);
34
43 static Vertex<3, fltp08> ArcCenter(double arcStartX, double arcStartY,
44 double arcMidX, double arcMidY,
45 double arcEndX, double arcEndY);
46
60 static void ArcDataFromBulge(fltp08 bulge, const Vertex<3, fltp08>& p1, const Vertex<3, fltp08>& p2,
61 /* returned data */
62 Vertex<3, fltp08>& arc_mid,
63 Vertex<3, fltp08>& arc_center,
64 fltp08& radius,
65 double* chord,
66 double* chordMidX, double* chordMidY,
67 double* sagitta, double* apothem,
68 Angle<fltp08>& span);
69 };
70}
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
Definition Angle.h:83
Converts CAD Bulge objects into arc shapes that can be used by the NDEVR API.
A point in N-dimensional space, used primarily for spatial location information.
Definition Vertex.hpp:44
The primary namespace for the NDEVR SDK.
double fltp08
Defines an alias representing an 8 byte floating-point number.