Merge pull request #1007 from barfowl/loop_patch_tables

Populate Far::PatchTable with triangular patches for Loop scheme
This commit is contained in:
David G Yu 2018-10-16 13:29:06 -07:00 committed by GitHub
commit 6a07537375
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 2200 additions and 211 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -84,7 +84,9 @@ public:
SourcePatch() { std::memset(this, 0, sizeof(SourcePatch)); } SourcePatch() { std::memset(this, 0, sizeof(SourcePatch)); }
~SourcePatch() { } ~SourcePatch() { }
void Finalize(); // To be called after all Corners have been initialized // To be called after all Corners have been initialized (hope to
// replace this with alternative constructor at some point)
void Finalize(int size3or4);
int GetNumSourcePoints() const { return _numSourcePoints; } int GetNumSourcePoints() const { return _numSourcePoints; }
int GetMaxValence() const { return _maxValence; } int GetMaxValence() const { return _maxValence; }
@ -93,13 +95,12 @@ public:
int GetCornerRingSize(int corner) const { return _ringSizes[corner]; } int GetCornerRingSize(int corner) const { return _ringSizes[corner]; }
int GetCornerRingPoints(int corner, int points[]) const; int GetCornerRingPoints(int corner, int points[]) const;
void Print(const char * label, const Index * patchPoints = 0);
// public/private access needs to be reviewed when/if used more publicly // public/private access needs to be reviewed when/if used more publicly
//private: //private:
public: public:
// The SourcePatch is fully defined by its Corner members // The SourcePatch is fully defined by its Corner members
Corner _corners[4]; Corner _corners[4];
int _numCorners;
// Additional members (derived from Corners) to help assemble corner rings: // Additional members (derived from Corners) to help assemble corner rings:
int _numSourcePoints; int _numSourcePoints;
@ -285,9 +286,6 @@ protected:
SourcePatch & sourcePatch, SourcePatch & sourcePatch,
Index patchPoints[], int fvc) const; Index patchPoints[], int fvc) const;
// Internal methods asserting features not yet completed:
void assertTriangularPatchesNotYetSupportedHere() const;
protected: protected:
// //
// Virtual methods to be provided by subclass for each scheme: // Virtual methods to be provided by subclass for each scheme: