The - operator is overloaded above the following domains:
As a binary operator:
NumericType - NumericType -> NumericType
VectorType - VectorType -> VectorType (Vectoric difference)
MatrixType - MatrixType -> MatrixType (Matrix difference)
PolygonType - PolygonType -> PolygonType (Boolean SUBTRACT operation)
As a unary operator:
- NumericType -> NumericType
- VectorType -> VectorType (Scale vector by -1)
- MatrixType -> MatrixType (Scale matrix by -1)
- PolygonType -> PolygonType (Boolean NEGATION operation)
- CurveType -> CurveType (Curve parameterization is reversed)
- SurfaceType -> SurfaceType (Surface parameterization is reversed)
Note: Boolean SUBTRACT of two disjoint objects (no common volume) will result with an empty object. For both a curve and a surface parameterization, reverse operation (binary minus) causes the object normal to be flipped as a side effect.