void Boundary2D::SetupBdry2D(::Bdry2D &bdry) const { int i=0; int iBdryPatch = 0; std::cerr << "Before Set size\n"; bdry.vSetSize (NumOfPatches(), NumOfPoints()); std::cerr << "Set size\n"; for (PointIterator p=FirstPoint(); p != EndPoint(); ++p, ++i) { bdry.vAddPoint((*p).coords()); bdry.vSetBdryPoint(i, false); } std::cerr << "Added points size\n"; for (PolylineIterator p=FirstPolyline(); p !=EndPolyline(); ++p) { SetupPolyline(bdry, *p, iBdryPatch); } std::cerr << "Added polylines size\n"; for (CircleIterator p=FirstCircle(); p !=EndCircle(); ++p) { SetupCircle(bdry, *p, iBdryPatch); } std::cerr << "Added circles size\n"; for (ArcIterator p=FirstArc(); p !=EndArc(); ++p) { SetupArc(bdry, *p, iBdryPatch); } std::cerr << "Added arcs size\n"; for (BezierIterator p=FirstBezier(); p !=EndBezier(); ++p) { SetupBezier(bdry, *p, iBdryPatch); } std::cerr << "Added beziers size\n"; for (SplineIterator p=FirstSpline(); p !=EndSpline(); ++p) { SetupSpline(bdry, *p, iBdryPatch); } std::cerr << "Added splines size\n"; bdry.vOrderConnectivityInfo(); // Find small angles bdry.vFindSmallAngles(); std::cerr << "Finished setupe\n"; }
void AZipLine::OnConstruction(const FTransform& Transform) { Super::OnConstruction(Transform); FVector Loc; FVector Tangent; if (!StartBase || !EndBase || !Spline || !EndBox) return; Spline->SetRelativeLocation(FVector(0, 0, SplineHeight)); Spline->GetLocationAndTangentAtSplinePoint(0, Loc, Tangent, ESplineCoordinateSpace::Local); StartBase->SetRelativeLocation(Loc); Spline->GetLocationAndTangentAtSplinePoint(Spline->GetNumberOfSplinePoints() - 1, Loc, Tangent, ESplineCoordinateSpace::Local); EndBase->SetRelativeLocation(Loc); Loc.Z += 0.5 * SplineHeight; EndBox->SetRelativeLocation(Loc); SetupSpline(); }