Show / Hide Table of Contents

Class Solid

A Solid is a IGeoObject implementation that represents a solid body. Its main data is a collection of oriented faces. The normal vector on any point of the face points to the outside of the body. Solids have one set of faces that represent the outer hull and any number of cavities that reside totally inside the outer hull. All cavyties are disjoint.

Inheritance
System.Object
IGeoObjectImpl
Solid
Implements
IGeoObject
ILayer
IStyle
IOctTreeInsertable
System.IComparable
IFeedBack
System.ICloneable
System.Runtime.Serialization.ISerializable
IColorDef
IGeoObjectOwner
System.Runtime.Serialization.IDeserializationCallback
IJsonSerialize
IJsonSerializeDone
IExportStep
Inherited Members
IGeoObjectImpl.isChanging
IGeoObjectImpl.MakeChange(IGeoObjectImpl, String)
IGeoObjectImpl.SetSerializationValue(String, Object)
IGeoObjectImpl.UniqueId
IGeoObjectImpl.WillChangeEvent
IGeoObjectImpl.DidChangeEvent
IGeoObjectImpl.FeedBackChangedEvent
IGeoObjectImpl.FireWillChange(GeoObjectChange)
IGeoObjectImpl.FireDidChange(GeoObjectChange)
IGeoObjectImpl.ModifyInverse(ModOp)
IGeoObjectImpl.HasChildren()
IGeoObjectImpl.NumChildren
IGeoObjectImpl.Child(Int32)
IGeoObjectImpl.Owner
IGeoObjectImpl.IsAttributeUsed(Object)
IGeoObjectImpl.AttributeChanged(INamedAttribute)
IGeoObjectImpl.CopyAttributes(IGeoObject)
IGeoObjectImpl.Attributes
IGeoObjectImpl.CustomAttributeKeys
IGeoObjectImpl.SetNamedAttribute(String, INamedAttribute)
IGeoObjectImpl.GetNamedAttribute(String)
IGeoObjectImpl.GetObjectData(SerializationInfo, StreamingContext)
IGeoObjectImpl.GetAttributeProperties(IFrame)
IGeoObjectImpl.UpdateAttributes(IAttributeListContainer)
IGeoObjectImpl.UserData
IGeoObjectImpl.isModifyingWithMouse
IGeoObjectImpl.ModifyWithMouse(Object, String, Boolean)
IGeoObjectImpl.HasValidData()
IGeoObjectImpl.PrePaintTo3D(IPaintTo3D)
IGeoObjectImpl.IsVisible
IGeoObjectImpl.PropagateAttributes(Layer, ColorDef)
IGeoObjectImpl.Actuator
IGeoObjectImpl.SetColorDef(ColorDef, ColorDef)
IGeoObjectImpl.Style
IGeoObjectImpl.StyleIsValid
IGeoObjectImpl.GetExtent(IGeoObject, Projection, Boolean)
IGeoObjectImpl.IsOwnedByBlockRef(IGeoObject)
IGeoObjectImpl.ChangingUserData(IGeoObject, String, Object)
IGeoObjectImpl.ChangingUserData(IGeoObject, String, Object, Boolean)
IGeoObjectImpl.ICloneable.Clone()
IGeoObjectImpl.IComparable.CompareTo(Object)
IGeoObjectImpl.GetAdditionalContextMenueEvent
IGeoObjectImpl.IFeedBack.GetExtent()
IGeoObjectImpl.JsonGetObjectData(IJsonWriteData)
IGeoObjectImpl.JsonSetObjectData(IJsonReadData)
IGeoObjectImpl.JsonSerializationDone()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: CADability.GeoObject
Assembly: CADability.dll
Syntax
[Serializable]
public class Solid : IGeoObjectImpl, IGeoObject, ILayer, IStyle, IOctTreeInsertable, IComparable, IFeedBack, ICloneable, ISerializable, IColorDef, IGetSubShapes, IGeoObjectOwner, IDeserializationCallback, IJsonSerialize, IJsonSerializeDone, IExportStep

Constructors

| Improve this Doc View Source

Solid()

Declaration
protected Solid()
| Improve this Doc View Source

Solid(SerializationInfo, StreamingContext)

Declaration
protected Solid(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info
System.Runtime.Serialization.StreamingContext context

Fields

| Improve this Doc View Source

Constructed

Declaration
public static Solid.ConstructedDelegate Constructed
Field Value
Type Description
Solid.ConstructedDelegate
| Improve this Doc View Source

Constructor

Declaration
public static Solid.ConstructionDelegate Constructor
Field Value
Type Description
Solid.ConstructionDelegate
| Improve this Doc View Source

OnPaintTo3D

Declaration
public static Solid.PaintTo3DDelegate OnPaintTo3D
Field Value
Type Description
Solid.PaintTo3DDelegate

Properties

| Improve this Doc View Source

ColorDef

Declaration
public ColorDef ColorDef { get; set; }
Property Value
Type Description
ColorDef
| Improve this Doc View Source

Description

Declaration
public override string Description { get; }
Property Value
Type Description
System.String
Overrides
IGeoObjectImpl.Description
| Improve this Doc View Source

Edges

Returns all the edges of this Shell. Each egde is unique in the array but may belong to two different faces.

Declaration
public Edge[] Edges { get; }
Property Value
Type Description
Edge[]
| Improve this Doc View Source

Layer

Declaration
public override Layer Layer { get; set; }
Property Value
Type Description
Layer
Overrides
IGeoObjectImpl.Layer
| Improve this Doc View Source

Name

The name of the solid.

Declaration
public string Name { get; set; }
Property Value
Type Description
System.String
| Improve this Doc View Source

NameOrEmpty

Declaration
public string NameOrEmpty { get; }
Property Value
Type Description
System.String
| Improve this Doc View Source

OwnedItems

Declaration
public override IGeoObject[] OwnedItems { get; }
Property Value
Type Description
IGeoObject[]
Overrides
IGeoObjectImpl.OwnedItems
| Improve this Doc View Source

PreferredStyle

Declaration
public override Style.EDefaultFor PreferredStyle { get; }
Property Value
Type Description
Style.EDefaultFor
Overrides
IGeoObjectImpl.PreferredStyle
| Improve this Doc View Source

Shells

Returns a list of all shells that bound this solid. In most cases there is only a single shell. If there is more than one shell the shell with index 0 is the outer hull and all subsequent shells describe cavyties that reside totally inside the outer hull.

Declaration
public Shell[] Shells { get; }
Property Value
Type Description
Shell[]

Methods

| Improve this Doc View Source

Clone()

Overrides Clone()

Declaration
public override IGeoObject Clone()
Returns
Type Description
IGeoObject
Overrides
IGeoObjectImpl.Clone()
| Improve this Doc View Source

Construct()

Declaration
public static Solid Construct()
Returns
Type Description
Solid
| Improve this Doc View Source

CopyGeometry(IGeoObject)

Overrides CopyGeometry(IGeoObject)

Declaration
public override void CopyGeometry(IGeoObject ToCopyFrom)
Parameters
Type Name Description
IGeoObject ToCopyFrom
Overrides
IGeoObjectImpl.CopyGeometry(IGeoObject)
| Improve this Doc View Source

Decompose()

Overrides Decompose()

Declaration
public override GeoObjectList Decompose()
Returns
Type Description
GeoObjectList
Overrides
IGeoObjectImpl.Decompose()
| Improve this Doc View Source

FindSnapPoint(SnapPointFinder)

Overrides FindSnapPoint(SnapPointFinder)

Declaration
public override void FindSnapPoint(SnapPointFinder spf)
Parameters
Type Name Description
SnapPointFinder spf
Overrides
IGeoObjectImpl.FindSnapPoint(SnapPointFinder)
| Improve this Doc View Source

FreeCachedMemory()

Declaration
public void FreeCachedMemory()
| Improve this Doc View Source

GetBoundingCube()

Overrides GetBoundingCube()

Declaration
public override BoundingCube GetBoundingCube()
Returns
Type Description
BoundingCube
Overrides
IGeoObjectImpl.GetBoundingCube()
| Improve this Doc View Source

GetExtent(Projection, ExtentPrecision)

Overrides GetExtent(Projection, ExtentPrecision)

Declaration
public override BoundingRect GetExtent(Projection projection, ExtentPrecision extentPrecision)
Parameters
Type Name Description
Projection projection
ExtentPrecision extentPrecision
Returns
Type Description
BoundingRect
Overrides
IGeoObjectImpl.GetExtent(Projection, ExtentPrecision)
| Improve this Doc View Source

GetExtent(Double)

Overrides GetExtent(Double)

Declaration
public override BoundingCube GetExtent(double precision)
Parameters
Type Name Description
System.Double precision
Returns
Type Description
BoundingCube
Overrides
IGeoObjectImpl.GetExtent(Double)
| Improve this Doc View Source

GetPlaneIntersection(PlaneSurface)

Returns the curves that result from a planar intersection of this shell with the provided plane. The curves are properly clipped.

Declaration
public ICurve[] GetPlaneIntersection(PlaneSurface pl)
Parameters
Type Name Description
PlaneSurface pl

The plane to intersect with

Returns
Type Description
ICurve[]

Array of intersection curves

| Improve this Doc View Source

GetQuadTreeItem(Projection, ExtentPrecision)

Overrides GetQuadTreeItem(Projection, ExtentPrecision)

Declaration
public override IQuadTreeInsertableZ GetQuadTreeItem(Projection projection, ExtentPrecision extentPrecision)
Parameters
Type Name Description
Projection projection
ExtentPrecision extentPrecision
Returns
Type Description
IQuadTreeInsertableZ
Overrides
IGeoObjectImpl.GetQuadTreeItem(Projection, ExtentPrecision)
| Improve this Doc View Source

GetShowProperties(IFrame)

Overrides GetShowProperties(IFrame)

Declaration
public override IShowProperty GetShowProperties(IFrame Frame)
Parameters
Type Name Description
IFrame Frame
Returns
Type Description
IShowProperty
Overrides
IGeoObjectImpl.GetShowProperties(IFrame)
| Improve this Doc View Source

HitTest(ref BoundingCube, Double)

Overrides HitTest(ref BoundingCube, Double)

Declaration
public override bool HitTest(ref BoundingCube cube, double precision)
Parameters
Type Name Description
BoundingCube cube
System.Double precision
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(ref BoundingCube, Double)
| Improve this Doc View Source

HitTest(Projection, BoundingRect, Boolean)

Overrides HitTest(Projection, BoundingRect, Boolean)

Declaration
public override bool HitTest(Projection projection, BoundingRect rect, bool onlyInside)
Parameters
Type Name Description
Projection projection
BoundingRect rect
System.Boolean onlyInside
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(Projection, BoundingRect, Boolean)
| Improve this Doc View Source

HitTest(Projection.PickArea, Boolean)

Overrides HitTest(Projection.PickArea, Boolean)

Declaration
public override bool HitTest(Projection.PickArea area, bool onlyInside)
Parameters
Type Name Description
Projection.PickArea area
System.Boolean onlyInside
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(Projection.PickArea, Boolean)
| Improve this Doc View Source

Intersect(Solid, Solid)

Returns the intersection of two solids, i.e. those parts that are common to both solids. If the solids are disjunct, an empty array is returned. There may be more than one solid body as a restult.

Declaration
public static Solid[] Intersect(Solid solid1, Solid solid2)
Parameters
Type Name Description
Solid solid1

first solid

Solid solid2

second solid

Returns
Type Description
Solid[]

array of common parts

| Improve this Doc View Source

MakeSolid(Shell)

Declaration
public static Solid MakeSolid(Shell sh)
Parameters
Type Name Description
Shell sh
Returns
Type Description
Solid
| Improve this Doc View Source

Modify(ModOp)

Overrides Modify(ModOp)

Declaration
public override void Modify(ModOp m)
Parameters
Type Name Description
ModOp m
Overrides
IGeoObjectImpl.Modify(ModOp)
| Improve this Doc View Source

PaintTo3D(IPaintTo3D)

Overrides PaintTo3D(IPaintTo3D)

Declaration
public override void PaintTo3D(IPaintTo3D paintTo3D)
Parameters
Type Name Description
IPaintTo3D paintTo3D
Overrides
IGeoObjectImpl.PaintTo3D(IPaintTo3D)
| Improve this Doc View Source

PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)

Overrides PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)

Declaration
public override void PaintTo3DList(IPaintTo3D paintTo3D, ICategorizedDislayLists lists)
Parameters
Type Name Description
IPaintTo3D paintTo3D
ICategorizedDislayLists lists
Overrides
IGeoObjectImpl.PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)
| Improve this Doc View Source

Position(GeoPoint, GeoVector, Double)

Overrides Position(GeoPoint, GeoVector, Double)

Declaration
public override double Position(GeoPoint fromHere, GeoVector direction, double precision)
Parameters
Type Name Description
GeoPoint fromHere
GeoVector direction
System.Double precision
Returns
Type Description
System.Double
Overrides
IGeoObjectImpl.Position(GeoPoint, GeoVector, Double)
| Improve this Doc View Source

PrepareDisplayList(Double)

Overrides PrepareDisplayList(Double)

Declaration
public override void PrepareDisplayList(double precision)
Parameters
Type Name Description
System.Double precision
Overrides
IGeoObjectImpl.PrepareDisplayList(Double)
| Improve this Doc View Source

RemoveShell(Shell)

Declaration
protected void RemoveShell(Shell sh)
Parameters
Type Name Description
Shell sh
| Improve this Doc View Source

SetFaces(Shell, Face[])

Declaration
public void SetFaces(Shell sh, Face[] faces)
Parameters
Type Name Description
Shell sh
Face[] faces
| Improve this Doc View Source

SetShell(Shell)

Declaration
public void SetShell(Shell sh)
Parameters
Type Name Description
Shell sh
| Improve this Doc View Source

SplitByPlane(Plane)

Declaration
public Solid[] SplitByPlane(Plane pln)
Parameters
Type Name Description
Plane pln
Returns
Type Description
Solid[]
| Improve this Doc View Source

Subtract(Solid, Solid)

Returns the difference of two solids. The second solid is removed from the first solid. If the solids are disjunct, (a clone of the) the first solid is returned. If the second solid contains the first solid, an empty array is returned.

Declaration
public static Solid[] Subtract(Solid first, Solid second)
Parameters
Type Name Description
Solid first

first solid

Solid second

second solid

Returns
Type Description
Solid[]

the difference

| Improve this Doc View Source

Unite(Solid, Solid)

Unites the two solids and returns the union. If the solids are disjunct, null is returned.

Declaration
public static Solid Unite(Solid solid1, Solid solid2)
Parameters
Type Name Description
Solid solid1

first solid

Solid solid2

second solid

Returns
Type Description
Solid

union or null

| Improve this Doc View Source

Volume(Double)

Returns the volume of this solid. the calculation is based on a triangulation with at least the provided precision.

Declaration
public double Volume(double precision)
Parameters
Type Name Description
System.Double precision

The precision of the triangulation

Returns
Type Description
System.Double

Explicit Interface Implementations

| Improve this Doc View Source

IColorDef.SetTopLevel(ColorDef)

Declaration
void IColorDef.SetTopLevel(ColorDef newValue)
Parameters
Type Name Description
ColorDef newValue
| Improve this Doc View Source

IColorDef.SetTopLevel(ColorDef, Boolean)

Declaration
void IColorDef.SetTopLevel(ColorDef newValue, bool overwriteChildNullColor)
Parameters
Type Name Description
ColorDef newValue
System.Boolean overwriteChildNullColor
| Improve this Doc View Source

IGeoObjectOwner.Add(IGeoObject)

Declaration
void IGeoObjectOwner.Add(IGeoObject toAdd)
Parameters
Type Name Description
IGeoObject toAdd
| Improve this Doc View Source

IGeoObjectOwner.Remove(IGeoObject)

Declaration
void IGeoObjectOwner.Remove(IGeoObject toRemove)
Parameters
Type Name Description
IGeoObject toRemove
| Improve this Doc View Source

IExportStep.Export(ExportStep, Boolean)

Declaration
int IExportStep.Export(ExportStep export, bool topLevel)
Parameters
Type Name Description
ExportStep export
System.Boolean topLevel
Returns
Type Description
System.Int32
| Improve this Doc View Source

IJsonSerialize.GetObjectData(IJsonWriteData)

Declaration
void IJsonSerialize.GetObjectData(IJsonWriteData data)
Parameters
Type Name Description
IJsonWriteData data
| Improve this Doc View Source

IJsonSerialize.SetObjectData(IJsonReadData)

Declaration
void IJsonSerialize.SetObjectData(IJsonReadData data)
Parameters
Type Name Description
IJsonReadData data
| Improve this Doc View Source

IJsonSerializeDone.SerializationDone()

Declaration
void IJsonSerializeDone.SerializationDone()
| Improve this Doc View Source

IDeserializationCallback.OnDeserialization(Object)

Declaration
void IDeserializationCallback.OnDeserialization(object sender)
Parameters
Type Name Description
System.Object sender
| Improve this Doc View Source

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Declaration
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info
System.Runtime.Serialization.StreamingContext context

Implements

IGeoObject
ILayer
IStyle
IOctTreeInsertable
System.IComparable
IFeedBack
System.ICloneable
System.Runtime.Serialization.ISerializable
IColorDef
IGeoObjectOwner
System.Runtime.Serialization.IDeserializationCallback
IJsonSerialize
IJsonSerializeDone
IExportStep
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX