Reference Codebot.Geometry.pas
Part of the Codebot package
The Codebot.Geometry unit defines the types used for 2D and 3D math.
- TVec2, TVec3, and TVec4 are vectors of two, three, and four components, which are built using the Vec routines.
- TMatrix4x4 transforms vertices in 3D, while TMatrix2x2 and TMatrix2x3 are matrices for 2D.
- TQuaternion represents a rotation in 3D.
- TLine2 is a 2D line, and TCurve2 and TBezier2 are 2D bezier curves.
The unit also provides Triangulate, which cuts a simple polygon into triangles.
Items 188 items
| Name | Kind | Line |
|---|---|---|
| Bezier2 | function | 463 |
| DefaultRotationOrder | variable | 480 |
| Line2 | function | 404, 406 |
| StockDirection | constant | 467 |
| StockMatrix | constant | 470 |
| StockQuaternion | constant | 476 |
| TBezier2 | record | 443 |
| P | field | 456 |
| P0 | field | 455 |
| P1 | field | 455 |
| P2 | field | 455 |
| P3 | field | 455 |
| Create | function | 448 |
| Flatten | function | 452 |
| TCurve2 | record | 414 |
| D | field | 428 |
| Distance | field | 426 |
| P | field | 430 |
| Explicit | operator | 419 |
| FindNormal | function | 421 |
| FindPoint | function | 423 |
| Implicit | operator | 417 |
| TDirection | alias | 148 |
| TLine2 | record | 381 |
| P | field | 398 |
| P0 | field | 397 |
| P1 | field | 397 |
| Distance | function | 392 |
| FindPoint | function | 390 |
| Intersects | function | 394 |
| Multiply | operator | 384 |
| Normal | function | 388 |
| Slope | function | 386 |
| TMatrix | alias | 280 |
| TMatrix2x2 | record | 287 |
| A | field | 295 |
| B | field | 295 |
| C | field | 295 |
| D | field | 295 |
| V | field | 296 |
| Create | function | 289 |
| Multiply | operator | 291 |
| Transform | function | 293 |
| TMatrix2x3 | record | 308 |
| A | field | 340 |
| B | field | 340 |
| C | field | 340 |
| D | field | 340 |
| TX | field | 340 |
| TY | field | 340 |
| V | field | 341 |
| Create | function | 310 |
| CreateRigid | function | 320 |
| CreateRotate | function | 318 |
| CreateScale | function | 316 |
| CreateTranslate | function | 314 |
| CreateTranspose | function | 312 |
| Identity | procedure | 330 |
| Implicit | operator | 328 |
| Inverse | function | 332 |
| RigidInverse | function | 334 |
| Transform | function | 336 |
| TransformVector | function | 338 |
| TMatrix4x4 | record | 218 |
| M | field | 273 |
| M0 | field | 274 |
| M1 | field | 274 |
| M2 | field | 274 |
| M3 | field | 274 |
| V | field | 275 |
| CanInvert | function | 235 |
| Equals | function | 231 |
| Frustum | procedure | 267 |
| Identity | procedure | 233 |
| Invert | function | 237 |
| LookAt | procedure | 271 |
| Ortho | procedure | 269 |
| Perspective | procedure | 265 |
| Project | function | 263 |
| Rotate | procedure | 241, 243 |
| RotateAt | procedure | 245, 247 |
| Scale | procedure | 249 |
| ScaleAt | procedure | 251 |
| Transform | function | 255, 257, 259 |
| Translate | procedure | 253 |
| Transpose | procedure | 239 |
| TPolygon | alias | 95 |
| TQuaternion | record | 348 |
| Q | field | 361 |
| W | field | 360 |
| X | field | 360 |
| Y | field | 360 |
| Z | field | 360 |
| Conjugate | procedure | 356 |
| Explicit | operator | 350 |
| Implicit | operator | 352 |
| Multiply | operator | 354 |
| Normalize | procedure | 358 |
| Triangulate | function | 488, 489 |
| TRotationOrder | enum | 212 |
| roXYZ | enum value | 212 |
| roYZX | enum value | 212 |
| roZXY | enum value | 212 |
| roXZY | enum value | 212 |
| roZYX | enum value | 212 |
| roYXZ | enum value | 212 |
| TSlope2 | record | 368 |
| Intercept | field | 374 |
| Ratio | field | 372 |
| Undefined | field | 370 |
| TTransformOrder | enum | 210 |
| toTRS | enum value | 210 |
| toRST | enum value | 210 |
| toSTR | enum value | 210 |
| toTSR | enum value | 210 |
| toSRT | enum value | 210 |
| toRTS | enum value | 210 |
| TVec1 | alias | 23 |
| TVec2 | record | 33 |
| S | field | 86 |
| T | field | 86 |
| V | field | 88 |
| Vec1 | field | 87 |
| X | field | 85 |
| Y | field | 85 |
| Angle | function | 55, 57, 58 |
| Binormal | function | 75 |
| Distance | function | 60, 62, 63 |
| Equals | function | 53 |
| Extend | function | 79 |
| Mid | function | 77 |
| Move | function | 68, 69 |
| Normal | function | 73 |
| Normalize | procedure | 71 |
| Offset | procedure | 65, 66 |
| Rotate | function | 81 |
| TVec3 | record | 101 |
| B | field | 135 |
| Blue | field | 136 |
| G | field | 135 |
| Green | field | 136 |
| Heading | field | 137 |
| Hue | field | 138 |
| Lightness | field | 138 |
| Pitch | field | 137 |
| R | field | 135 |
| Red | field | 136 |
| Roll | field | 137 |
| Saturation | field | 138 |
| V | field | 141 |
| V1 | field | 139 |
| V2 | field | 140 |
| X | field | 134 |
| Y | field | 134 |
| Z | field | 134 |
| Angle | function | 117 |
| Blend | function | 119 |
| Cross | function | 121 |
| Distance | function | 125, 127, 128 |
| Dot | function | 123 |
| Equals | function | 115 |
| Normalize | procedure | 130 |
| TVec4 | record | 154 |
| A | field | 171 |
| Alpha | field | 172 |
| B | field | 171 |
| Blue | field | 172 |
| G | field | 171 |
| Green | field | 172 |
| R | field | 171 |
| Red | field | 172 |
| S0 | field | 173 |
| S1 | field | 173 |
| T0 | field | 173 |
| T1 | field | 173 |
| V | field | 177 |
| Vec1 | field | 174 |
| Vec2 | field | 175 |
| Vec3 | field | 176 |
| W | field | 170 |
| X | field | 170 |
| Y | field | 170 |
| Z | field | 170 |
| Equals | function | 166 |
| Vec | function | 186, 187, 188, 189, 190, 191 |
| Vec2 | function | 194, 195, 196, 197 |
| Vec3 | function | 200, 201, 202 |
| Vec4 | function | 204, 205 |