19 array(
int&in, uint length,
const T&in value);
41 const T&
opIndex(uint index)
const;
45 int find(
const T&in value)
const;
50 int find(uint startAt,
const T&in value)
const;
59 int findByRef(uint startAt,
const T&in value)
const;
72 void insert(uint index,
const T&in value);
76 void insert(uint index,
const T[]&inout arr);
80 void insertAt(uint index,
const T&in value);
84 void insertAt(uint index,
const T[]&inout arr);
114 void sort(array::less&in, uint startAt = 0, uint count = uint ( - 1 ));
120 void sortAsc(uint startAt, uint count);
126 void sortDesc(uint startAt, uint count);
135 bool has_argument(
string arg)
const;
139 double get_double(
string arg)
const;
144 double get_double(
string arg,
double def)
const;
148 double get_unsigned_double(
string arg)
const;
153 double get_unsigned_double(
string arg,
double def)
const;
157 int get_int(
string arg)
const;
162 int get_int(
string arg,
int def)
const;
166 string get_string(
string arg)
const;
171 string get_string(
string arg,
string def)
const;
175 uint get_uint(
string arg)
const;
180 uint get_uint(
string arg, uint def)
const;
260 bool is_empty()
const;
264 double diagonal()
const;
280 pos3d@ center()
const;
292 void enclose(
pos3d@ p);
316 double radius()
const;
330 cone(
double h,
double r1,
double r2,
bool center =
false);
338 double height()
const;
350 double radius1()
const;
354 double radius2()
const;
363 cube(
double size,
bool center =
false);
380 cuboid(
double dx,
double dy,
double dz,
bool center =
false);
405 cylinder(
double h,
double r,
bool center =
false);
413 double height()
const;
421 double radius()
const;
657 double project(
pos2d@ point)
const;
670 pos2d@ interpolate(
double par)
const;
689 double project(
pos3d@ point)
const;
702 pos3d@ interpolate(
double par)
const;
717 double height()
const;
762 T_value&
find(
const T_key&in);
767 T_value&
find(
const T_key&in,
bool&out);
771 bool contains(
const T_key&in);
782 const T_value& get_opIndex(
const T_key&in)
const;
811 void SetDirectcomp(
bool);
816 void erase(
const T_key&in);
820 void insert(
const T_key&in,
const T_value&in);
824 void set_opIndex(
const T_key&in,
const T_value&in);
832 T_value& current_value();
835 T_value& get_value();
857 const T_key& current_key();
860 const T_key& get_key();
867 void set_value(
const T_value&in);
909 mirror(
double dx,
double dy,
double dz);
940 offset2d(
const shape2d@ profile,
double r = 0x7fc00000,
double delta = 0x7fc00000,
bool chamfer =
false);
960 pface(uint iv1, uint iv2, uint iv3);
967 pface(uint iv1, uint iv2, uint iv3, uint iv4);
976 uint vindex(uint iv)
const;
992 pointcloud(
string file,
int skip_lines = 0,
int xtok = 0,
int ytok = 1,
int ztok = 2,
string delimiters =
' ,; 996 pos3d*[]@ points_array()
const;
1046 double area()
const;
1051 double signed_area()
const;
1056 pos2d@ vertex(uint iv)
const;
1086 double face_area(uint iface)
const;
1090 double volume()
const;
1095 pface@ face(uint iface)
const;
1100 pos3d@ vertex(uint iv)
const;
1112 void flip_face(uint iface);
1120 void set_vertex(uint iv,
pos3d@ pos);
1123 void verify()
const;
1138 pos2d(
double x,
double y);
1143 double dist(
const pos2d@ pos)
const;
1171 pos2d@ opMul(
double f1);
1176 pos2d@ opMul_r(
double f1);
1197 pos3d(
double x,
double y,
double z);
1202 double dist(
const pos3d@ pos)
const;
1234 pos3d@ opMul(
double f1);
1239 pos3d@ opMul_r(
double f1);
1265 rectangle(
double dx,
double dy,
bool center =
false);
1306 rotate_x(
double deg = 0x7fc00000,
double rad = 0x7fc00000);
1325 rotate_y(
double deg = 0x7fc00000,
double rad = 0x7fc00000);
1344 rotate_z(
double deg = 0x7fc00000,
double rad = 0x7fc00000);
1368 scale(
double sx,
double sy,
double sz = 1.0);
1397 void write_csg(
string path);
1402 void write_xcsg(
string path,
double secant_tolerance = - 1.0);
1472 double radius()
const;
1486 pos2d@ pos(
double t)
const;
1490 vec2d@ dir(
double t)
const;
1504 pos3d@ pos(
double t)
const;
1508 vec3d@ dir(
double t)
const;
1540 double size()
const;
1555 bool opEquals(
const string&in)
const;
1559 const uint8&
opIndex(uint)
const;
1564 int find(
const string&in, uint start = 0)
const;
1569 int findFirst(
const string&in, uint start = 0)
const;
1574 int findFirstNotOf(
const string&in, uint start = 0)
const;
1579 int findFirstOf(
const string&in, uint start = 0)
const;
1584 int findLast(
const string&in,
int start = - 1)
const;
1589 int findLastNotOf(
const string&in,
int start = - 1)
const;
1594 int findLastOf(
const string&in,
int start = - 1)
const;
1598 int opCmp(
const string&in)
const;
1603 int rfind(
const string&in,
int start = - 1)
const;
1607 string& opAddAssign(
bool);
1611 string& opAddAssign(
const string&in);
1615 string& opAddAssign(
double);
1619 string& opAddAssign(
float);
1623 string& opAddAssign(int64);
1627 string& opAddAssign(uint64);
1655 string opAdd(
bool)
const;
1659 string opAdd(
const string&in)
const;
1663 string opAdd(
double)
const;
1667 string opAdd(
float)
const;
1671 string opAdd(int64)
const;
1675 string opAdd(uint64)
const;
1679 string opAdd_r(
bool)
const;
1683 string opAdd_r(
double)
const;
1687 string opAdd_r(
float)
const;
1691 string opAdd_r(int64)
const;
1695 string opAdd_r(uint64)
const;
1700 string substr(uint start = 0,
int count = - 1)
const;
1714 void erase(uint pos,
int count = - 1);
1718 void insert(uint pos,
const string&in other);
1752 pos3d@ origin()
const;
1771 vec3d@ xdir()
const;
1775 vec3d@ ydir()
const;
1779 vec3d@ zdir()
const;
1809 translate(
double dx,
double dy,
double dz = 0.0);
1917 vec2d(
double x,
double y);
1922 double angle(
const vec2d@ other)
const;
1927 double cross(
const vec2d@ other)
const;
1932 double dot(
const vec2d@ other)
const;
1954 vec2d@ opMul(
double f1);
1959 vec2d@ opMul_r(
double f1);
1988 vec3d(
double x,
double y,
double z);
1993 double angle(
const vec3d@ other)
const;
1998 double dot(
const vec3d@ other)
const;
2029 vec3d@ opMul(
double f1);
2034 vec3d@ opMul_r(
double f1);
Input stream (usable in console window only). Provides "cin" input stream.
Definition: angelcad.h:186
3d intersection boolean operation
Definition: angelcad.h:608
Polyhedron face.
Definition: angelcad.h:954
Closed polyhedron volume defined by vertices and planar faces.
Definition: angelcad.h:1067
2d hull operation, enclosing the input shapes
Definition: angelcad.h:492
2d fill operation, filling holes in input shapes
Definition: angelcad.h:457
3d Minkowski sum operation
Definition: angelcad.h:892
Abstract base for all primitives and booleans.
Definition: angelcad.h:1385
2d profile offset
Definition: angelcad.h:933
Abstract base matrix for transformations.
Definition: angelcad.h:1738
Container iterator type for map.
Definition: angelcad.h:829
3d localsystem
Definition: angelcad.h:723
Rotation around y.
Definition: angelcad.h:1320
void insert(uint index, const T &in value)
Array of values or references.
Definition: angelcad.h:7
cone with axis in z-direction, by default extending from origin
Definition: angelcad.h:323
sphere, centered at origin
Definition: angelcad.h:1460
square, by default located in 1st quadrant touching origin
Definition: angelcad.h:1531
cuboid, by default in 1st octant with one corner toucing origin
Definition: angelcad.h:373
void reserve(uint length)
3d direction vector
Definition: angelcad.h:1973
2d position coordinates
Definition: angelcad.h:1129
Mirror transformation around given point.
Definition: angelcad.h:903
cylinder with axis in z-direction, by default extending from origin
Definition: angelcad.h:399
pointcloud, contains pos3d@ cloud
Definition: angelcad.h:981
Abstract base for 2d primitives and booleans.
Definition: angelcad.h:1408
3d line
Definition: angelcad.h:675
bool opEquals(const T[]&in) const
void removeAt(uint index)
rectangle, by default located in 1st quadrant touching origin
Definition: angelcad.h:1259
3d cubic spline curve
Definition: angelcad.h:1496
Rotation around x.
Definition: angelcad.h:1301
polygon, vertices in CCW order
Definition: angelcad.h:1005
Project from 3d to 2d.
Definition: angelcad.h:1249
void push_back(const T &in)
Extrude 2d shape in z direction into 3d solid.
Definition: angelcad.h:708
bounding box aligned with system axes
Definition: angelcad.h:253
3d union boolean operation
Definition: angelcad.h:1868
3d difference boolean operation
Definition: angelcad.h:444
2d Minkowski sum operation
Definition: angelcad.h:877
2d intersection boolean operation
Definition: angelcad.h:569
Translation in x, y and z.
Definition: angelcad.h:1799
Script input arguments.
Definition: angelcad.h:131
Sweep 2d shape along path curve to create 3d solid.
Definition: angelcad.h:1727
Template container storing sorted keys and values: map<T_key,T_value>
Definition: angelcad.h:751
int find(const T &in value) const
int findByRef(const T &in value) const
Extrude 2d shape CCW in XZ plane into 3d solid.
Definition: angelcad.h:1281
3d hull operation, enclosing the input solids
Definition: angelcad.h:530
Abstract base for 3d primitives and booleans.
Definition: angelcad.h:1434
cube, by default in 1st octant with one corner toucing origin
Definition: angelcad.h:359
Output stream allowing expressions like: cout << "Hello World!" << endl;.
Definition: angelcad.h:223
2d direction vector
Definition: angelcad.h:1903
Homogeneous transformation matrix.
Definition: angelcad.h:471
Scaling transformation.
Definition: angelcad.h:1358
2d line
Definition: angelcad.h:643
3d position coordinates
Definition: angelcad.h:1187
2d cubic spline curve
Definition: angelcad.h:1478
void removeRange(uint start, uint count)
void insertAt(uint index, const T &in value)
String type similar to C++ strings.
Definition: angelcad.h:1545
T &[] opAssign(const T[]&in)
spline_path for sweep
Definition: angelcad.h:1514
void sort(array::less &in, uint startAt=0, uint count=uint(- 1))
2d union boolean operation
Definition: angelcad.h:1830
Rotation around z.
Definition: angelcad.h:1339
2d difference boolean operation
Definition: angelcad.h:430
circle, centered at origin
Definition: angelcad.h:298
void insertLast(const T &in value)