Namespace SearchAThing.Sci
Classes
- Arc3D
base geometry for arc 3d entities.
the CS origin is the Center of the arc. the CS basex, basey forms the arc plane.
angles start, end are normalized [0,2pi) measured as angle from the basex right-hand rotating around cs basez. the arc coverage goes from the angle start point toward angle end point right-hand rotating arond cs basez.
while the CS right hand rule allow to know the effective arc coverage Sense information allow to know the effective edge orientation.
- Arc3DEqualityComparer
checks if arcs share same plane, origin, radius, angle start-end
- BBox3D
Bounding Box. Initially empty, each added point will increase the extension if min or max exceed actual bbox limits. It works within wcs.
- Circle3D
Specialized version of Arc3D with StartAngle=0 and EndAngle=2PI
- ComputationQueue<T>
helper circular queue manager for computation. at constructor the maxSize ( default=3 ) can be specified to allow retrieval of previous computed items
- CoordinateSystem3D
CS with origin and basex, basey, basez orthonormal vectors. WCS coord can be translated to this cs using ToUCS() method. UCS coord can be translated back to wcs using ToWCS() method.
- DQuaternion
Quaternion implementation using doubles for purpose of Vector3D.RotateAboutAxis and Vector3D.RotateAs references:
- DVector3EqualityComparer
helper class to compare vector3d set using given tolerance
- DiscreteSpaceItemComparer<T>
comparer to search in DiscreteSpace
- DiscreteSpaceItem<T>
base item for DiscreteSpace
- DiscreteSpace<T>
organize given item list into a discretized space to allow fast query of elements in a space region
- DoubleEqualityComparer
helper class to compare a set of doubles by using given tolerance
- Edge
interface implemented by some type of geometries used in Loop such as Line3D, Arc3D and Circle3D
- Ext
netcore-sci extension methods
- Face
Planar face with one (outer) or more loops (inners)
- Geometry
base abstract type for geometries such as Vector3D, Line3D, Arc3D and Circle3D
- Int64Map
Scan a given domain of doubles, determine the midpoint ( Origin ) and using the given tolerance it tests for integrity in conversion between values from double to Int64 and vice-versa. It can generate a Int64MapExceptionRange.
- LUT
Lookup Table genertor
- Line3D
Defines a line by an application point (From) and an extension from there (V). To is computed as From+V. Line can be built by givin From and To, or From and V using specialized constructor with Line3DConstructMode. Line can be built from a point using LineTo(), LineV() or LineDir() extension methods.
- Line3DEqualityComparer
equality comparer helper for Line3D types
- Loop
planar edges loop containing line and arcs
- Matrix3D
basic matrix3d with 3x3 double elements and operations to allow arithmetic and 3d linear equation resolution.
- NVector3EqualityComparer
helper class to compare vector3d set using given tolerance
- NormalizedAngleComparer
normalized angles in range [StartAngle, EndAngle] comparer
Example:
start:1.25π end:0.5π the set { 0.25π, 0.75π } sorts to { 0.75π, 0.25π }
Precondition: constructor start, end angles and compare method arguments must normalized [0,2PI)
- Plane3D
encapsulate a CS to define a plane3d
- Plane3DRegion
region of a plane3d delimited by a set of coplanar points
- PythonPipe
Helper to invoke python and retrieve results.
- Toolkit
netcore-sci toolkit static methods
- Toolkit.SciPropertiesResolver
addictional json resolver to ignore some Vector3D, Line3D properties during serialization without affecting source code
- Toolkit.UnitJsonConverter<TUnitType>
json converter to write unit using abbrev
- Transform3D
Use quaternion to append rotate transformations
- Triangle3D
helper class to hold triangle info, used in conjunction with LibTessDotNet methods.
- Vector3D
can be used to describe a wcs point or a vector x,y,z components from some reference origin
- Vector3DEqualityComparer
helper class to compare vector3d set using given tolerance
- Vector3DWithOrder
support class for DistinctKeepOrder extension
- Vector3DWithOrderEqualityComparer
helper class to compare vector3d in a distinct operation retaining original order, used by DistinctKeepOrder()
Structs
- NumbersStatNfo
statistical info about number set