/// <summary> /// Construct Edge of line type by points and coordinate system. /// </summary> public Edge(Geometry.FdPoint3d _startPoint, Geometry.FdPoint3d _endPoint, Geometry.FdCoordinateSystem _coordinateSystem) { this.Type = "line"; this.Points.Add(_startPoint); this.Points.Add(_endPoint); this.Normal = _coordinateSystem.LocalY; this.CoordinateSystem = _coordinateSystem; }
/// <summary> /// Construct Edge of circle type. /// </summary> public Edge(double _radius, Geometry.FdPoint3d _centerPoint, Geometry.FdCoordinateSystem _coordinateSystem) { this.Type = "circle"; this.Radius = _radius; this.Points.Add(_centerPoint); this.Normal = _coordinateSystem.LocalZ; this.CoordinateSystem = _coordinateSystem; }
/// <summary> /// Constructor by edge and rigidity. Used to create group for line support /// </summary> internal Group(Geometry.FdCoordinateSystem coordSystem, Motions motions, MotionsPlasticLimits motionsPlasticLimits, Rotations rotations, RotationsPlasticLimits rotationsPlasticLimits) { this.CoordinateSystem = coordSystem; this.Rigidity = new RigidityDataType3(motions, motionsPlasticLimits, rotations, rotationsPlasticLimits); }
/// <summary> /// Construct Edge of arc2 type. /// </summary> public Edge(Geometry.FdPoint3d _startPoint, Geometry.FdPoint3d _midPoint, Geometry.FdPoint3d _endPoint, Geometry.FdCoordinateSystem _coordinateSystem) { this.Type = "arc"; this.Points.Add(_startPoint); this.Points.Add(_midPoint); this.Points.Add(_endPoint); this.CoordinateSystem = _coordinateSystem; }
/// <summary> /// Construct Edge of arc1 type. /// </summary> public Edge(double radius, double startAngle, double endAngle, Geometry.FdPoint3d centerPoint, Geometry.FdVector3d xAxis, Geometry.FdCoordinateSystem coordinateSystem) { this.Type = "arc"; this.Radius = radius; this.StartAngle = startAngle; this.EndAngle = endAngle; this.Points.Add(centerPoint); this.Normal = coordinateSystem.LocalZ; this.XAxis = xAxis; this.CoordinateSystem = coordinateSystem; }