- added TopologyRefiner base level modifiers to TopologyRefinerFactoryBase
- removed old modifiers from TopologyRefiner (unused by anything else)
- updated existing Factory<MESH> definitions to use new methods
- new Options for Refine() methods for base face and vertex ordering
- removed ignored/unused "full topology" choice from AdaptiveOptions
- added base face and vertex ordering logic to Refinement
- addition of TopologyRefiner members for component counts and max valence
- refactoring of Level additions to update all new member totals
- addition of GetMaxValence() to TopologyRefiner
- updated PatchTablesFactory to user new GetMaxValence() method
- renaming of "Hole" methods for TopologyRefiner and Vtr::Level
- added edge-face local-indices to Vtr::Level members
- added internal and public access to edge-face local-indices
- updated refinement methods to use and populate edge-face local-indices
- updated refinement methods to be sensitive to degenerate edges
- added Vtr::VALENCE_LIMIT constant for internal use
- updated Vtr::Level topology completion to fail on valence overflow
- simplfied non-manifold edge handling in Vtr::Level topology completion
- updated warnings for all topology construction failures
- added detection and warning when passing non-triangles for Loop
- added new tag for sharp corner, now used in isolation
- split single semi-sharp tag in two for vertex and edge sharpness
- updated tag propagation and all tests of previous semi-sharp tag
- added clear() methods for all tags and simplified initialization
- added FVar channel consideration to TopologyRefiner's feature selection
- added more simple access methods to FVarLevel
- added _xordinary tag to FVarLevel::ValueTag; initialize and refine
- added composite tag method for FVarLevel::ValueTag similar to Level::VTag
- parameterize FVar topology initialization with regular valence
- all Factory<MESH> methods to specialize now return bool
- added topology validation of base level as indicated by option
- added populateBaseLevel() back to simplify premature failure
- renamed Sdc::Type to SchemeType and TypeTraits to SchemeTypeTraits
- renamed TYPE_ prefix to SCHEME_
- updated all usage within core library
- updated all usage in examples, tutorials, etc.
- fixed naming consistency of protected methods used by Factory
- removed other unused and/or redundant protected methods
- update Far Factories to reflect changes to Refiner methods
- updated usage in tutorials and regression
- VVarBoundaryInterpolation is now VtxBoundaryInterpolation
- enum prefix change from VVAR to VTX
- generel cleanup / doxyfication
- update of beta / release notes
- add error reporting callback to Vtr::Level::validateTopology
- switch printfs to callback
- add error code enums to Vtr::Level
- route Far::TopologyRefinerFactory::reportInvalidTopology through Vtr::Level callback
note:
- Vtr::Level::validateTopology needs to check creaase tag indices
- topology validation should be client-code driver in TopologyRefinerFactory (turned off in the code at the moment)
- make sure we don't get conflicting enums (CODE_ERROR)
- fix template specialization for Far::TopologyRefinerFactory in regression/common/vtr_utils
- fix remaining error reporting code around osd
- change error codes from situational to general (fatal / coding / run-time...)
- pull error functions from Osd into Far
- add a templated topology validation reporting system to Far::TopologyRefinerFactory
- fix fallout on rest of code-base
- added flag to Sdc MASK interface to interpret "face weights"
- updated Catmark and Bilinear schemes to be aware of new MASK flag
- added subdivision and limit masks for the Loop scheme
- subclassed Vtr::Refinement into QuadRefinement and TriRefinement
- updated tagging of components to be sensitive to applied scheme
- fixed some quad assumptions in FVar refinement to support N-sided
- internally generalized ::TopologyRefiner Interpolate() for <SCHEME>
- adaptive mode: remove faces tagged as holes from the selection of faces to isolate
- uniform mode: faces tagged as holes are still included in the refinement process,
however they are removed from patch tables
- future improvements: add a 'selective refinement' code path separate from 'uniform refinement'
to handle this case without un-necessary subdivision work.
Sync'ing the 'dev' branch with the 'feature_3.0dev' branch at commit 68c6d11fc36761ae1a5e6cdc3457be16f2e9704a
The branch 'feature_3.0dev' is now locked and preserved for historical purposes.