All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
diff: https://github.com/mcneel/rhino3dm/pull/561/files
- (.net, js, py) RDK objects for ground plane, dithering, linear workflow, safe frame, skylight, sun, render channels, post effects, decals, render environments, render content, mesh modifiers
- (js, py) Polyline GetSegments and SegmentAt #534
- (js, py) NurbsCurve ConvertSpanToBezier
- (js, py) BrepVertex Index, EdgeCount, EdgeIndices
- (js, py) BrepVertexList Count, GetVertex
- (js, py) Brep Vertices
- (js, py) NurbsSurface OrderU, OrderV, KnotsU, KnotsV, Control Points, Points
- (js, py) ON_4fColor bindings
- (js, py) PBR BaseColor, EmissionColor, subsurfaceScatteringColor getter and setter
- (js) Vector2d bindings
- (js, py) Texture Id, Type, and Enabled getter and setter
- (js, py) SetMesh BrepFace and Extrusions
- (js) tryConvertBrep for Brep
- (js, py) Material.ToPhysicallyBased()
- (js, py) LineType bindings (@coditect)
- (js, py) BND_GroupTable Delete (@coditect)
- (js, py) BND_Xform methods and properties (@coditect)
- (js, py) additional file3dm properties (@coditect)
- (js, py) DateTime bindings (@coditect)
- (.net, js, py) Texture Repeat, Offset, and Rotation properties
- (js, py) Several methods related to PointClouds and values ( Add(point, value), etc )
- (js) toList() for NurbsSurfaceKnotList and NurbsCurveKnotList
- (js) All File3dm table count are properties whereas before they were functions
- (js) PolyCurve Append methods are now appendArc, appendLine, and appendCurve. Related to #550
- (py) Updated PyBind11 from 2.9.1 to 2.11.1
- (js) CI builds for rhino3dm.js include debug information for debugging with Chrome. Hence, the resulting wasm file is much larger (40+mb) than the release build. This is triggered in the setup step with the -d or --debug flag:
python3 script/setup.py -p js -d
- (js, py) bnd_anotationbase.cpp renamed to bnd_anotationbase.cpp
- (js, py) BND_Box.PointAt returned incorrect coordinates. #556
- (js) any method returning std::vector would be undefined. This was switched to return BND_TUPLE. No adverse effects on python build. #553
- (js) emscripten does not support overloaded ctors or methods that have the same number of arguments. This means many of the bindings had unusable ctors or methods. We've fixed this by giving each element a unique name (in the case of methods) or creating uniquely named static ctors. This will create some additional challenges for the documentation, but will result in more available ctors and methods. Meshes, ArcCurve, PolyCurve, Transforms, and several other objects were affected by this change. #550
- (js, py) BND_PointCloud::Add4 add color twice and does nothing with normal #551
- (.net) linux-arm64 native lib
- (.net) linux-amd64 now loads in amazonlinux
- (js) ci and release builds include minified js and d.ts
- Updated rhino3dm to be based on the Rhino 8 version of OpenNURBS
- (py) Linux version now includes draco support
- (py) Added Line.Transform, Brep.TryConvertBrep
- (py) Added 3.11 support
- (.net) Added macOS arm64 (Apple Silicon) builds
- (.net) Addded .net 7.0 support
- (py) Removed python 2.7 support
- (js, py) Use draco 1.5.4
- (js) Fixed some issues in typescript binding generation
- (js, py) Added ViewportInfo.TargetPoint
- (js, py) Added BrepFace.CreateExtrusion
- (.net) Added two new Hatch creation routines (CreateFromBrep and Create). The Create version takes curve loop inputs to create the hatch.
- Updated opennurbs source to be based on Rhino 7.15 version
- (js, py) Added Circle.Plane and Circle.BoundingBox properties; Circle.IsInPlane and Circle.Transform functions
- (py) Added Curve.ClosedCurveOrientation overload supporting an input plane. Added Curve.DerivativeAt
- (py) Added Vector3d.IsParallelTo and VectorAngle functions
- (py) Added Transform.Multiply as well as access properties to all values in the transform
- (.net) Add Curve.JoinCurves, Ellipse.Center, Ellipse.FocalDistance, ArcArc and CircleCircle intersections, NurbsCurve.Append
- (js, py) Added ModelComponent.DataCRC, ModelComponent.IsSystemComponent, ModelComponent.ClearId
- (py) Apple Silicon builds possible
- Updated opennurbs source to be based on Rhino 7.14 version
- (.net) Added Quaternion.GetRotation
- Updated opennurbs source to be based on Rhino 7.11 version
- (js, py) Circle.ClosestParameter, Light.GetSpotLightRadii, MeshFaceList.GetFaceVertices, MeshFaceList.GetFaceCenter, Sphere.ClosestParameter from @fraguada
- (js) BezierCurve.toNurbsCurve changed ToNurbsCurve to toNurbsCurve to stay consistent with function naming in library
- (js) File3dm.strings table was always reporting a count of 0 @fraguada
- (py) Point3d.Transform was not callable
- (js, py) AnnotationBase.RichText and PlainText properties
- (js, py) Arc.AngleDomain, StartAngle, EndAngle, StartAngleRadians, EndAngleRadians properties
- (js, py) Arc.ClosestParameter function
- (js, py) BezierCurve.ToNurbsCurve and Split function
- (js, py) Surface.SetDomain, GetSpanVector, IsoCurve, GetSurfaceParameterFromNurbsFormParameter, and GetNurbsFormParameterFromSurfaceParameter functions
- (js, py) Curve.TangentAtStart and TangentAtEnd properties
- (js, py) Curve.FrameAt, GetCurveParameterFromNurbsFormParameter, and GetNurbsFormParameterFromCurveParameter functions
- Adjusted version number of library to be based on the underlying Rhino version that source is based on
- Use pybind11 2.6.1 for python compile
- (js) Bumped version to 0.16.1 to fix missing file in npm distribution (javascript only)
- (js, py) EarthAnchorPoint class
- (js, py) Surface.FrameAt function from @fraguada
- (js, py) InstanceDefinition.SourceArchive and InstanceDefinition.UpdateType properties from @s3ththompson
- (js, py) MeshTextureCoordinateList.Add function from @GeertArien
- (.NET) Updated all .NET classes/functions to match what has been added up to Rhino 7.6
- (js, py) Surface.Domain function from @fraguada
- (js, py) File3dmLayerTable.AddLayer function
- (js, py) CommonObject.IsValid property
- (py) docgen generates a better typehint file for python to improve autocomplete in IDEs
- (js) Got web assembly compilation to work on Windows from @kovacsv
- (js) Fixed File3dm.ToByteArray memory corruption from @kovacsv
- (js, py) Get correct vertex colors from Draco compressed mesh from @pearswj
- (.NET) Win32 native dlls included in nuget package
- Based on public opennurbs from Rhino 7.6
- docgen now based on .NET 5 from @pearswj
- Use emscripten 2.0.10 for web assembly compile from @pearswj
- (js/py) ViewInfo constructor
- (js/py) File3dmGroupTable.GroupMembers function
- (js/py) Transform.Translation, Scale and Mirror functions
- (js/py) BrepFace.DuplicateFace and BrepFace.DuplicateSutrface functions
- (js/py) Interval(double, double) constructor from @pearswj
- (js/py) File3dm.Destroy function
- (js/py) Material.CompareAppearance function
- (js) Mesh.toThreejsJSONMerged function
- Based on public opennurbs from Rhino 7.1
- Use pybind11 2.6.1 for python compile
- (py/js) Improve pointer tracking for CommonObject classes
- (js/py) LightStyle enum
- (js/py) Light.LightStyle, Ambient, Diffuse and Specular properties
- (js/py) Mesh.CreateFromSubDControlNet function
- (js/py) Mesh.HasPrincipleCurvatures property
- (js/py) SubD class
- (js) PointCloud.toThreejsJSON function from @fraguada
- (js) Mesh.thThreejsJSON function includes vertex colors when available from @fraguada
- Based on public opennurbs from Rhino 7.0