Silhouette

References
public class Silhouette
Information about silhouette curves that are generated from geometry (surfaces, brep faces, meshes)

Properties

Curve

#Since v6.0
public Curve Curve { get; }
3D curve representing the shape of the silhouette.

GeometryComponentIndex

#Since v6.0
public ComponentIndex GeometryComponentIndex { get; }
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.

SilhouetteType

#Since v6.0
public SilhouetteType SilhouetteType { get; }
Gets the type of this silhouette curve.

Methods

Compute

#Since v6.0
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.
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.
Array of silhouette curves.

Compute

#Since v6.0
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Point3d perspectiveCameraLocation, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a perspective projection.
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.
Array of silhouette curves.

Compute

#Since v6.0
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.
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.
Array of silhouette curves.

Compute

#Since v6.0
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, Vector3d parallelCameraDirection, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a parallel projection.
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.
Array of silhouette curves.

Compute

#Since v6.0
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.
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.
Array of silhouette curves.

Compute

#Since v6.0
public static Silhouette[] Compute(GeometryBase geometry, SilhouetteType silhouetteType, ViewportInfo viewport, double tolerance, double angleToleranceRadians)
Compute silhouettes of a shape for a specified projection.
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.
Array of silhouette curves.

ComputeDraftCurve

#Since v7.0
public static Silhouette[] ComputeDraftCurve(GeometryBase geometry, double draftAngle, Vector3d pullDirection, double tolerance, double angleToleranceRadians, CancellationToken cancelToken)
Computes draft curve silhouettes of a shape.
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.
Array of silhouette curves.

ComputeDraftCurve

#Since v7.0
public static Silhouette[] ComputeDraftCurve(GeometryBase geometry, double draftAngle, Vector3d pullDirection, double tolerance, double angleToleranceRadians)
Computes draft curve silhouettes of a shape.
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.
Array of silhouette curves.