21 void insertUserEllByCoord(std::vector<Poly>& acceptedPoly, std::vector<IntPoints> &intpts,
struct Stats &pstats, std::vector<Point> &triplePoints) {
23 std::cout <<
"\n" <<
nEllByCoord <<
" User Ellipses By Coordinates Defined\n\n";
38 for (
unsigned int j = 0; j <
nEllNodes; j++) {
47 int midPtIdx = 3 * (int) (nEllNodes/2);
58 newPoly.
normal[0] = xProd1[0];
59 newPoly.
normal[1] = xProd1[1];
60 newPoly.
normal[2] = xProd1[2];
69 int tempIdx1 = 3 * (int) (midPtIdx / 2) ;
70 int tempIdx2 = 3 * (tempIdx1 + midPtIdx);
90 std::cout <<
"\nUser Ellipse (defined by coordinates) " << i+1 <<
" was rejected for being outside the defined domain.\n";
114 std::cout <<
"\nUser Defined Elliptical Fracture (Defined By Coordinates) " << (i+1) <<
" Accepted\n";
115 acceptedPoly.push_back(newPoly);
121 std::cout <<
"\nRejected Eser Defined Elliptical Fracture (Defined By Coordinates) " << i+1 <<
"\n";
double euclideanDistance(double *A, double *B)
T magnitude(T x, T y, T z)
double getArea(struct Poly &poly)
struct RejectionReasons rejectionReasons
unsigned long long int outside
std::vector< unsigned int > rejectsPerAttempt
void insertUserEllByCoord(std::vector< Poly > &acceptedPoly, std::vector< IntPoints > &intpts, struct Stats &pstats, std::vector< Point > &triplePoints)
void createBoundingBox(struct Poly &newPoly)
bool domainTruncation(Poly &newPoly, double *domainSize)
int intersectionChecking(struct Poly &newPoly, std::vector< Poly > &acceptedPoly, std::vector< IntPoints > &intPtsList, struct Stats &pstats, std::vector< Point > &triplePoints)
void printRejectReason(int rejectCode, struct Poly newPoly)
T * crossProduct(const T *v1, const T *v2)
unsigned int acceptedPolyCount
unsigned long long int rejectedPolyCount