Silhouette
ReferencesInformation about silhouette curves that are generated from geometry (surfaces, brep faces, meshes)
Properties
Gets the component index corresponding with this silhouette curve. This field is only set when the entire silhouette curve is part of some geometry component.
Gets the type of this silhouette curve.
Methods
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Point3d perspectiveCameraLocation, double tolerance, double angleToleranceRadians, IEnumerable<Plane> clippingPlanes, CancellationToken cancelToken)
Compute silhouettes of a shape for a perspective projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| perspectiveCameraLocation (Point3d) | Location of perspective camera. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
| clippingPlanes (IEnumerable<Plane>) | Optional collection of clipping planes. |
| cancelToken (CancellationToken) | Computation cancellation token. |
Returns: Array of silhouette curves.
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Point3d perspectiveCameraLocation, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a perspective projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| perspectiveCameraLocation (Point3d) | Location of perspective camera. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
Returns: Array of silhouette curves.
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Vector3d parallelCameraDirection, double tolerance, double angleToleranceRadians, IEnumerable<Plane> clippingPlanes, CancellationToken cancelToken)
Compute silhouettes of a shape for a parallel projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| parallelCameraDirection (Vector3d) | Direction of parallel camera. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
| clippingPlanes (IEnumerable<Plane>) | Optional collection of clipping planes. |
| cancelToken (CancellationToken) | Computation cancellation token. |
Returns: Array of silhouette curves.
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Vector3d parallelCameraDirection, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a parallel projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| parallelCameraDirection (Vector3d) | Direction of parallel camera. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
Returns: Array of silhouette curves.
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, ViewportInfo viewport, double tolerance, double angleToleranceRadians, IEnumerable<Plane> clippingPlanes, CancellationToken cancelToken)
Compute silhouettes of a shape for a specified projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| viewport (ViewportInfo) | Projection. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
| clippingPlanes (IEnumerable<Plane>) | Optional collection of clipping planes. |
| cancelToken (CancellationToken) | Computation cancellation token. |
Returns: Array of silhouette curves.
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, ViewportInfo viewport, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a specified projection.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| silhouetteType (SilhouetteType) | Types of silhouette to compute. |
| viewport (ViewportInfo) | Projection. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
Returns: Array of silhouette curves.
public static Silhouette[] ComputeDraftCurve(GeometryBase geometry, double draftAngle, Vector3d pullDirection, double tolerance, double angleToleranceRadians, CancellationToken cancelToken)
Computes draft curve silhouettes of a shape.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| draftAngle (double) | The draft angle in radians. Draft angle can be a positive or negative value. |
| pullDirection (Vector3d) | 3d direction for the mold to be pulled in, directed away from the object. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
| cancelToken (CancellationToken) | Computation cancellation token. |
Returns: Array of silhouette curves.
public static Silhouette[] ComputeDraftCurve(GeometryBase geometry, double draftAngle, Vector3d pullDirection, double tolerance, double angleToleranceRadians)
Computes draft curve silhouettes of a shape.
Parameters:
| geometry (GeometryBase) | Geometry whose silhouettes need to be computed. Can be Brep, BrepFace, Mesh, or Extrusion. |
| draftAngle (double) | The draft angle in radians. Draft angle can be a positive or negative value. |
| pullDirection (Vector3d) | 3d direction for the mold to be pulled in, directed away from the object. |
| tolerance (double) | Tolerance to use for determining projecting relationships. Surfaces and curves that are closer than tolerance, may be treated as projecting. When in doubt use RhinoDoc.ModelAbsoluteTolerance. |
| angleToleranceRadians (double) | Angular tolerance to use for determining projecting relationships. A surface normal N that satisfies N o cameraDirection < Sin(angleToleranceRadians) may be considered projecting. When in doubt use RhinoDoc.ModelAngleToleranceRadians. |
Returns: Array of silhouette curves.