Merge branch 'release/v2_3_5' into dev
Fix build warning in FarMultiMeshFactory
Fix another multi mesh splicing bug of face varying data.
Change FarPatchTables::Descriptor::begin() to take starting patch type so that we can use a desc iterator for uniform quads/tris as well.
Add OsdUtilPatchPartitioner. It splits patcharray into subsets so that clients can draw partial surfaces for both adaptive and uniform.
Also added a new example facePartition which uses OsdUtilPatchPartitioner.
Refactor Far API.
* replace void* of all kernel applications with CONTEXT template parameter.
  It eliminates many static_casts from void* for both far and osd classes.
* move the big switch-cases of far default kernel launches out of Refine so
  that osd controllers can arbitrary mix default kernels and custom kernels.
* change FarKernelBatch::kernelType from enum to int, clients can add
  custom kernel types.
* remove a back-pointer to farmesh from subdivision table.
* untemplate all subdivision table classes and template their compute methods
  instead. Those methods take a typed vertex storage.
* remove an unused argument FarMesh from the constructor of subdivision
  table factories.
fix typo in gcdComputeController
Refactor FarSubdivisionTables.
Delete scheme specialized subdivision tables. The base class FarSubdivisionTables
already has all tables, so we just need scheme enum to identify which scheme
the subdivision tables belong to.
This brings a lot of code cleanups around far factory classes.
Move table splicing functions of FarMultiMeshFactory into factories,
in preparation for relocating MultiMesh to OsdUtil.
more refactoring on FarMesh and move FarMultiMeshFactory to OsdUtil.
Change PxOsdUtil prefix to final OsdUtil prefix.
Remove FarMesh dependency from Osd*Context. The context constructor takes
subdivision tables and vertex edit tables directly.
Improve error reporting in osdutil refinement classes, and fix a build issue
in the python wrapping code.
Adding functionality to store uniform face-varying data across multiple levels of subdivision

- switch FVarDataTable to a class
- add offsets to keep track of level
- modify dependent code
- rename 'totalFVarWidth' to 'fvarWidth'

fixes #271
Adding documentation content

- Hierarchical edits descriptions
- Uniform vs Adaptive feature comparison
Fix typo (and Doxygen warning)
Make CMake path variables more robust

Add quotes around variables containing paths - this might require a second pass...

fixes #258
Fix Windows build following CMake changes

Add conditionals testing for non-empty OPENGL_INCLUDE_DIR path

fixes #258
One more fix for the windows cmake build

fixes #258
OsdUtilPatchPartitioner does not support face-varying data #272

* instantiates FarPatchTables with face-varying data for a single uniform subdivision level, or for an adaptively subdivided mesh
* face-varying data is not regenerated if data for multiple uniform subdivision levels is present
Merge pull request #273 from nathan-at-digitalfish/issue272

OsdUtilPatchPartitioner does not support face-varying data #272

This is looking great: thanks a lot Nathan !