本文整理汇总了C#中Plane.Signal方法的典型用法代码示例。如果您正苦于以下问题:C# Plane.Signal方法的具体用法?C# Plane.Signal怎么用?C# Plane.Signal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Plane
的用法示例。
在下文中一共展示了Plane.Signal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSectionElementsVisibleInSketch
private List<SectionElement> GetSectionElementsVisibleInSketch(Section section, Plane minPlane, Plane maxPlane, List<SteelThicknessGaugingPoint> steelThicknessGaugingPoints, Vector3D normal)
{
try
{
SortedList<int, Plate> targetPlates = new SortedList<int, Plate>();
foreach (SteelThicknessGaugingPoint steelThicknessGaugingPoint in steelThicknessGaugingPoints)
{
Plate targetPlate = steelThicknessGaugingPoint.TargetElement as Plate;
if (targetPlate == null || targetPlates.ContainsKey(targetPlate.ID))
{
continue;
}
targetPlates.Add(targetPlate.ID, targetPlate);
}
List<SectionElement> sectionElements = new List<SectionElement>();
SectionElementsSet sectionElementsSet = section.GetPermanentSectionElementsSet("Plate");
foreach (Plate plate in sectionElementsSet.Elements.Values)
{
Point3D point = plate.Design.Geometry.Primitive(0).Centroid;
Vector3D plateNormal = plate.Design.Geometry.Primitive(0).Normal;
plateNormal.Normalize();
double angle = Vector3D.Angle(plateNormal, normal);
if ((minPlane.Signal(point) == 1 && maxPlane.Signal(point) == -1 && angle < 1.0) || targetPlates.ContainsKey(plate.ID))
{
sectionElements.Add(plate);
}
}
return sectionElements;
}
catch (Exception ex)
{
throw new ApplicationException("Section elements visible in skectch cannot be get!", ex);
}
}
示例2: GetPointsBetweenPlanes
private List<SteelThicknessGaugingPoint> GetPointsBetweenPlanes(List<SteelThicknessGaugingPoint> steelThicknessGaugingPoints, Plane minPlane, Plane maxPlane)
{
try
{
List<SteelThicknessGaugingPoint> pointsBetweenPlanes = new List<SteelThicknessGaugingPoint>();
foreach (SteelThicknessGaugingPoint steelThicknessGaugingPoint in steelThicknessGaugingPoints)
{
Point3D point = steelThicknessGaugingPoint.PointGeometry.Position;
if (minPlane.Signal(point) == 1 && maxPlane.Signal(point) == -1)
{
pointsBetweenPlanes.Add(steelThicknessGaugingPoint);
}
}
return pointsBetweenPlanes;
}
catch (Exception ex)
{
throw new ApplicationException("Points between planes cannot be get!", ex);
}
}