GSolid Class

This class represents the base class for 3D primitives.
Public Class GSolid 
Inherits GEntity 
Implements IGFace
This language is not supported or no code example is available.
public class GSolid : GEntity
IGFace
This language is not supported or no code example is available.
Name Description
Protected constructor GSolid(GSolid)
Internal protected (Protected Friend) constructor GSolid(bool, IList<Portion>) Constructor for the Eyeshot proprietary file format.
Public constructor GSolid(SerializationInfo, StreamingContext)
Public constructor GSolid(bool, TextureMappingData, IList<Portion>) Boundary representation constructor.
Top
Name Description
Public property EntityData Gets or sets the entity custom data. (inherited from GEntity).
Public property IsClosed If true, the solid is closed.
Public property Portions Gets the gSolid's boundary representation.
Public property SmoothingAngle Gets or sets the angle in radians that determines solid sharp edges.
Public property TextureMapping Gets the texture mapping data associated with this solid.
Top
Methods
 
Name Description
Public method ApplyTextureMapping(textureMappingType, double, double) Maps the specified material to this solid. Before using this method you need to define a material and add it to the Design Materials collection.
Public method ApplyTextureMapping(textureMappingType, double, double, Point3D, Point3D, Transformation) Maps the specified material to this solid. Before using this method you need to define a material and add it to the Design Materials collection.
Public method Clone() Creates a deep copy of this solid.
Protected method ComputeApproximatedBoundingBox(out Point3D, out Point3D) Computes the primitive's approximated bounding box.
Public method ComputeTessellation(IRegenParams, out TessellationData)
Public method ComputeTessellation(double, out TessellationData)
Public method ConvertToMesh(bool) Converts this solid into a mesh object.
Public method ConvertToMesh(double, double, natureType, bool)
Public method ConvertToSurrogate() Converts the GEntity to its surrogate, for serialization purpose.
Public method Static CreateBox(double, double, double) Creates a Box primitive.
Public method Static CreateBox<T>(double, double, double) Creates a Box primitive.
Public method Static CreateCone(double, double, Point3D, Point3D, int) Creates a Cone primitive.
Public method Static CreateCone(double, double, double, int) Creates a Cone primitive.
Public method Static CreateCone<T>(double, double, Point3D, Point3D, int) Creates a Cone primitive.
Public method Static CreateCone<T>(double, double, double, int) Creates a Cone primitive.
Public method Static CreateCylinder(double, Point3D, Point3D, int) Creates a Cylinder primitive.
Public method Static CreateCylinder(double, double, int) Creates a Cylinder primitive.
Public method Static CreateCylinder<T>(double, Point3D, Point3D, int) Creates a Cylinder primitive.
Public method Static CreateCylinder<T>(double, double, int) Creates a Cylinder primitive.
Public method Static CreatePlanar(Plane, IList<Point2D>) Triangulates the specified 2D region.
Public method Static CreatePlanar(Plane, IList<Point2D>, IList<IList<Point2D>>) Triangulates the specified 2D region.
Public method Static CreatePlanar<T>(Plane, IList<Point2D>) Triangulates the specified 2D region.
Public method Static CreatePlanar<T>(Plane, IList<Point2D>, IList<IList<Point2D>>) Triangulates the specified 2D region.
Public method Static CreateSphere(double, int, int) Creates a Sphere primitive.
Public method Static CreateSphere<T>(double, int, int) Creates a Sphere primitive.
Public method Static CreateSpring(double, double, int, int, double, double, bool) Creates a Spring primitive.
Public method Static CreateSpring(double, double, int, int, double, double, bool, bool) Creates a Spring primitive.
Public method Static CreateSpring<T>(double, double, int, int, double, double, bool) Creates a Spring primitive.
Public method Static CreateSpring<T>(double, double, int, int, double, double, bool, bool) Creates a Spring primitive.
Public method Static CreateTorus(double, double, int, int) Creates a Torus primitive.
Public method Static CreateTorus<T>(double, double, int, int) Creates a Torus primitive.
Public method CutBy(GSurface, double, bool) Cuts the part of the gSolid on the positive side of a gSurface.
Public method CutBy(GSurface, double, bool, out GSolid[]) Cuts the part of the gSolid on the positive side of a gSurface.
Public method CutBy(Plane) Cuts the part of the gSolid on the positive side of a plane.
Public method CutBy(Plane, out GSolid[]) Cuts the part of the gSolid on the positive side of a plane.
Public method Static Difference<T>(T, T, double) Boolean Difference between two gSolids.
Public method Dump() Returns a description of this entity.
Public method Equals(Object) (inherited from Object).
Public method ExtrudeAdd(GRegion, Vector3D, double) Modifies current gSolid extruding a contour by a given vector and adding.
Public method ExtrudeAdd(GRegion, Vector3D, double, out GSolid[]) Modifies current gSolid extruding a contour by a given vector and adding.
Public method ExtrudeAdd(GRegion, double, double) Modifies current gSolid extruding a contour by a given amount and adding.
Public method ExtrudeAdd(GRegion, double, double, out GSolid[]) Modifies current gSolid extruding a contour by a given amount and adding.
Public method ExtrudeAdd(GRegion, double, double, double, double) Modifies current gSolid extruding a contour by a given vector and adding.
Public method ExtrudeAdd(GRegion, double, double, double, double, out GSolid[]) Modifies current gSolid extruding a contour by a given vector and adding.
Public method ExtrudeRemove(GRegion, Vector3D, double) Modifies current gSolid extruding a contour by a given vector and removing.
Public method ExtrudeRemove(GRegion, Vector3D, double, out GSolid[]) Modifies current gSolid extruding a contour by a given vector and removing.
Public method ExtrudeRemove(GRegion, double, double) Modifies current gSolid extruding a contour by a given amount and removing.
Public method ExtrudeRemove(GRegion, double, double, out GSolid[]) Modifies current gSolid extruding a contour by a given amount and removing.
Public method ExtrudeRemove(GRegion, double, double, double, double) Modifies current gSolid extruding a contour by a given vector and removing.
Public method ExtrudeRemove(GRegion, double, double, double, double, out GSolid[]) Modifies current gSolid extruding a contour by a given vector and removing.
Protected method Finalize (inherited from Object).
Public method FindClosestTriangle(Transformation, Segment3D) Returns a list of triangles hit by the provided segment.
Public method FlipNormal()
Public method Static FromTriangles(IList<Point3D>, IList<IndexTriangle>) Creates a solid from a list of vertices and triangles.
Public method Static FromTriangles(IList<Point3D>, IList<IndexTriangle>, double, bool, double) Creates a solid from a list of vertices and triangles.
Public method Static FromTriangles<T>(IList<Point3D>, IList<IndexTriangle>) Creates a solid from a list of vertices and triangles.
Public method Static FromTriangles<T>(IList<Point3D>, IList<IndexTriangle>, double, bool, double) Creates a solid from a list of vertices and triangles.
Protected method Static GetClosestMainAxis(Vector3D) (inherited from GEntity).
Public method GetCoarseSampling() Returns a small set of points that gives a coarse idea of the 3D extent of the primitive.
Public method GetFaces(int, int, int, out List<Int32>, out List<Vector3D>, double) Get faces of 3D object
Public method GetHashCode (inherited from Object).
Public method GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo instance with the data needed to serialize the target object.
Protected method Static GetOffsetDistance(Vector3D, Vector3D, double) (inherited from GEntity).
Public method Static GetPortionType(Portion)
Public method GetType (inherited from Object).
Public method GetXElement()
Public method Static Intersection<T>(T, T, double)

Boolean Intersection between two solids. The method will compute the intersection between the two specified solids (gray and blue in the image below) and return an array with the result (green). The returned array may have more than one element if multiple disjoint intersections are found.

Public method Static IntersectionLoops(GSolid, GSolid, double) Computes the intersection loops between two GSolid objects.
Public method IsPointInside(Point3D) Checks if the specified point is inside the solid.
Public method IsValid() Returns true if all the entity fields contain reasonable information. (inherited from GEntity).
Protected method MemberwiseClone (inherited from Object).
Public method RemoveTextureMapping() Remove the texture mapping.
Public method ResetComputedData() Resets needed primitive's geometrical attributes to recompute. (inherited from GEntity).
Public method RevolveAdd(GRegion, double, double, Point3D, Point3D, int, double) Modifies current solid revolving a GRegion around an axis and adding.
Public method RevolveAdd(GRegion, double, double, Point3D, Point3D, int, double, out GSolid[]) Modifies current solid revolving a GRegion around an axis and adding.
Public method RevolveAdd(GRegion, double, double, Vector3D, Point3D, int, double) Modifies current solid revolving a GRegion around an axis and adding.
Public method RevolveAdd(GRegion, double, double, Vector3D, Point3D, int, double, out GSolid[]) Modifies current solid revolving a GRegion around an axis and adding.
Public method RevolveRemove(GRegion, double, double, Point3D, Point3D, int, double) Modifies current solid revolving a GRegion around an axis and removing.
Public method RevolveRemove(GRegion, double, double, Point3D, Point3D, int, double, out GSolid[]) Modifies current solid revolving a GRegion around an axis and removing.
Public method RevolveRemove(GRegion, double, double, Vector3D, Point3D, int, double) Modifies current solid revolving a GRegion around an axis and removing.
Public method RevolveRemove(GRegion, double, double, Vector3D, Point3D, int, double, out GSolid[]) Modifies current solid revolving a GRegion around an axis and removing.
Public method Rotate(double, Vector3D, Point3D) Rotates the entity around an arbitrary axis by the specified angle. (inherited from GEntity).
Public method Rotate(double, Point3D, Point3D) Rotates the entity around an arbitray axis by the specified angle. (inherited from GEntity).
Public method Rotate(double, Vector3D) Rotates the entity around an arbitray axis by the specified angle. (inherited from GEntity).
Public method Scale(Point3D, double, double, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(Point3D, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(Vector3D) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(double, double, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Section(Plane, double)
Public method Section(PlaneEquation) Computes the contours resulting from the intersection of the GSolid and the given plane.
Public method SplitBy(Plane, out GSolid[], out GSolid[]) Splits the gSolid with a plane.
Public method SplitBy(GSurface, double, out GSolid[], out GSolid[]) Splits the gSolid with a gSurface.
Public method Static Sweep(IGCurve, GRegion, double, sweepMethodType, bool) Sweeps the GRegion along the provided trajectory.
Public method Static Sweep<T>(IGCurve, GRegion, double, sweepMethodType, bool) Sweeps the GRegion along the provided trajectory.
Public method ToString (inherited from Object).
Internal protected (Protected Friend) method TransformAllVertices(Point3D[], Transformation, bool, bool) (inherited from GEntity).
Public method TransformBy(Transformation) Applies transformation matrix on 3D object
Public method Translate(double, double, double) Translates the entity. (inherited from GEntity).
Public method Translate(Vector3D) Translates the entity. (inherited from GEntity).
Public method Static Union(IList<GSolid>) Union between a list of GSolid entities.
Public method Static Union<T>(T, T, double) Boolean Union between two gSolids.
Protected method UpdateAngles() Updates the variable 'Angle' of array edgeDatas after a scaling transformation. For Ticket #13399
Top
Classes
 
Name Description
Public class Portion This class represents a portion of the gSolid object. To keep booleans operation reasonably fast, the gSolid is split in more portions.
Top
Name Description
Public structure Cycle Cycle data.
Public structure EdgeData Edge data.
Public structure EdgeFace Edge face.
Public structure Face Face data.
Top

.NET Framework

Supported in: 4.7.2

In this article

Definition