The * operator is overloaded above the following domains:
NumericType * NumericType -> NumericType
VectorType * NumericType -> VectorType (Vector scaling)
VectorType * CurveType -> CurveType (Inner product projection)
VectorType * SurfaceType -> SurfaceType (Inner product projection)
VectorType * VectorType -> NumericType (Inner product)
MatrixType * NumericType -> MatrixType (Matrix Scaling)
MatrixType * PointType -> PointType (Point transformation)
MatrixType * CtlPtType -> CtlPtType (Ctl Point transformation)
MatrixType * VectorType -> VectorType (Vector transformation)
MatrixType * MatrixType -> MatrixType (Matrix multiplication)
MatrixType * GeometricType -> GeometricType (Object transformation)
MatrixType * ListType -> ListType (Object hierarchy transform.)
PolygonType * PolygonType -> PolygonType (Boolean INTERSECTION operation)
Note: Boolean INTERSECTION of two disjoint objects (no common volume) will result with an empty object. Object hierarchy transform transforms any transformable object (GeometricType) found in the list recursively. Boolean INTERSECTION of two planar (XY plane) polyline objects will compute the intersection points of the two lists of polylines.