mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-12-23 08:20:06 +00:00
spelling phase 2
For completeness, ran files through an automated spell checker (Visual Studio plugin) which caught several things missed while reading.
This commit is contained in:
parent
0beb654f0b
commit
fc19cd2604
@ -173,7 +173,7 @@ struct PatchParam {
|
|||||||
/// \brief Resets everything to 0
|
/// \brief Resets everything to 0
|
||||||
void Clear() { field0 = field1 = 0; }
|
void Clear() { field0 = field1 = 0; }
|
||||||
|
|
||||||
/// \brief Retuns the faceid
|
/// \brief Returns the faceid
|
||||||
Index GetFaceId() const { return Index(unpack(field0,28,0)); }
|
Index GetFaceId() const { return Index(unpack(field0,28,0)); }
|
||||||
|
|
||||||
/// \brief Returns the log2 value of the u parameter at
|
/// \brief Returns the log2 value of the u parameter at
|
||||||
|
@ -397,7 +397,7 @@ public:
|
|||||||
/// \brief Evaluate basis functions for a varying value and
|
/// \brief Evaluate basis functions for a varying value and
|
||||||
/// derivatives at a given (u,v) parametric location of a patch.
|
/// derivatives at a given (u,v) parametric location of a patch.
|
||||||
///
|
///
|
||||||
/// @param handle A patch handle indentifying the sub-patch containing the
|
/// @param handle A patch handle identifying the sub-patch containing the
|
||||||
/// (u,v) location
|
/// (u,v) location
|
||||||
///
|
///
|
||||||
/// @param u Patch coordinate (in base face normalized space)
|
/// @param u Patch coordinate (in base face normalized space)
|
||||||
|
@ -1414,7 +1414,7 @@ PatchTableFactory::populateAdaptivePatches(
|
|||||||
|
|
||||||
context.GetIrregularPatchCornerSpans(patch.levelIndex, patch.faceIndex, irregCornerSpans);
|
context.GetIrregularPatchCornerSpans(patch.levelIndex, patch.faceIndex, irregCornerSpans);
|
||||||
|
|
||||||
// switch endcap patchtype by option
|
// switch endcap patch type by option
|
||||||
switch(context.options.GetEndCapType()) {
|
switch(context.options.GetEndCapType()) {
|
||||||
case Options::ENDCAP_GREGORY_BASIS:
|
case Options::ENDCAP_GREGORY_BASIS:
|
||||||
arrayBuilder->iptr +=
|
arrayBuilder->iptr +=
|
||||||
|
@ -207,7 +207,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
//
|
//
|
||||||
// Local class to fulfil interface for <typename MASK> in the Scheme mask queries:
|
// Local class to fulfill interface for <typename MASK> in the Scheme mask queries:
|
||||||
//
|
//
|
||||||
class Mask {
|
class Mask {
|
||||||
public:
|
public:
|
||||||
@ -705,7 +705,7 @@ PrimvarRefiner::interpFVarFromEdges(int level, T const & src, U & dst, int chann
|
|||||||
Vtr::internal::FVarLevel const & childFVar = childLevel.getFVarLevel(channel);
|
Vtr::internal::FVarLevel const & childFVar = childLevel.getFVarLevel(channel);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Allocate and intialize (if linearly interpolated) interpolation weights for
|
// Allocate and initialize (if linearly interpolated) interpolation weights for
|
||||||
// the edge mask:
|
// the edge mask:
|
||||||
//
|
//
|
||||||
float eVertWeights[2];
|
float eVertWeights[2];
|
||||||
@ -1108,7 +1108,7 @@ PrimvarRefiner::limit(T const & src, U & dstPos, U1 * dstTan1Ptr, U2 * dstTan2Pt
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Apply the tangent masks -- both will have the same number of weights and
|
// Apply the tangent masks -- both will have the same number of weights and
|
||||||
// indices (one tangent may be "padded" to accomodate the other), but these
|
// indices (one tangent may be "padded" to accommodate the other), but these
|
||||||
// may differ from those of the position:
|
// may differ from those of the position:
|
||||||
//
|
//
|
||||||
if (hasTangents) {
|
if (hasTangents) {
|
||||||
|
@ -163,7 +163,7 @@ PtexIndices::GetAdjacency(
|
|||||||
adjEdges[2] = 1;
|
adjEdges[2] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // resolve neighbor outisde the sub-face (edge 0)
|
{ // resolve neighbor outside the sub-face (edge 0)
|
||||||
int edge0 = fedges[quadrant];
|
int edge0 = fedges[quadrant];
|
||||||
Index adjface0 = getAdjacentFace(level, edge0, face);
|
Index adjface0 = getAdjacentFace(level, edge0, face);
|
||||||
if (adjface0==-1) {
|
if (adjface0==-1) {
|
||||||
@ -182,7 +182,7 @@ PtexIndices::GetAdjacency(
|
|||||||
assert(adjFaces[0]!=-1);
|
assert(adjFaces[0]!=-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// resolve neighbor outisde the sub-face (edge 3)
|
// resolve neighbor outside the sub-face (edge 3)
|
||||||
int edge3 = fedges[prevQuadrant];
|
int edge3 = fedges[prevQuadrant];
|
||||||
Index adjface3 = getAdjacentFace(level, edge3, face);
|
Index adjface3 = getAdjacentFace(level, edge3, face);
|
||||||
if (adjface3==-1) {
|
if (adjface3==-1) {
|
||||||
|
@ -94,7 +94,7 @@ TopologyRefiner::Unrefine() {
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Intializing and updating the component inventory:
|
// Initializing and updating the component inventory:
|
||||||
//
|
//
|
||||||
void
|
void
|
||||||
TopologyRefiner::initializeInventory() {
|
TopologyRefiner::initializeInventory() {
|
||||||
|
@ -161,7 +161,7 @@ protected:
|
|||||||
/// the vertices for that face.
|
/// the vertices for that face.
|
||||||
///
|
///
|
||||||
/// If a full boundary representation with all neighborhood information is not
|
/// If a full boundary representation with all neighborhood information is not
|
||||||
/// available, e.g. faces and vertices are avaible but not edges, only the
|
/// available, e.g. faces and vertices are available but not edges, only the
|
||||||
/// face-vertices should be specified. The remaining topological relationships
|
/// face-vertices should be specified. The remaining topological relationships
|
||||||
/// will be constructed later in the assembly (though at greater cost than if
|
/// will be constructed later in the assembly (though at greater cost than if
|
||||||
/// specified directly).
|
/// specified directly).
|
||||||
@ -170,13 +170,13 @@ protected:
|
|||||||
/// specified in order, i.e. the number of face-vertices for each successive face.
|
/// specified in order, i.e. the number of face-vertices for each successive face.
|
||||||
///
|
///
|
||||||
|
|
||||||
/// \brief Specify the number of vertices to be accomodated
|
/// \brief Specify the number of vertices to be accommodated
|
||||||
static void setNumBaseVertices(TopologyRefiner & newRefiner, int count);
|
static void setNumBaseVertices(TopologyRefiner & newRefiner, int count);
|
||||||
|
|
||||||
/// \brief Specify the number of faces to be accomodated
|
/// \brief Specify the number of faces to be accommodated
|
||||||
static void setNumBaseFaces(TopologyRefiner & newRefiner, int count);
|
static void setNumBaseFaces(TopologyRefiner & newRefiner, int count);
|
||||||
|
|
||||||
/// \brief Specify the number of edges to be accomodated
|
/// \brief Specify the number of edges to be accommodated
|
||||||
static void setNumBaseEdges(TopologyRefiner & newRefiner, int count);
|
static void setNumBaseEdges(TopologyRefiner & newRefiner, int count);
|
||||||
|
|
||||||
/// \brief Specify the number of vertices incident each face
|
/// \brief Specify the number of vertices incident each face
|
||||||
@ -628,7 +628,7 @@ TopologyRefinerFactory<MESH>::assignComponentTopology(TopologyRefiner& /* refine
|
|||||||
// void setBaseVertexNonManifold(TopologyRefiner& newRefiner, Index vertex, bool b);
|
// void setBaseVertexNonManifold(TopologyRefiner& newRefiner, Index vertex, bool b);
|
||||||
//
|
//
|
||||||
// Also consider using TopologyLevel::ValidateTopology() when debugging to ensure
|
// Also consider using TopologyLevel::ValidateTopology() when debugging to ensure
|
||||||
// that topolology has been completely and correctly specified.
|
// that topology has been completely and correctly specified.
|
||||||
//
|
//
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ public:
|
|||||||
/// Constructor.
|
/// Constructor.
|
||||||
CLEvaluator(cl_context context, cl_command_queue queue);
|
CLEvaluator(cl_context context, cl_command_queue queue);
|
||||||
|
|
||||||
/// Desctructor.
|
/// Destructor.
|
||||||
~CLEvaluator();
|
~CLEvaluator();
|
||||||
|
|
||||||
/// Generic creator template.
|
/// Generic creator template.
|
||||||
|
@ -93,7 +93,7 @@ protected:
|
|||||||
/// Returns true if success.
|
/// Returns true if success.
|
||||||
bool allocate(cl_context clContext);
|
bool allocate(cl_context clContext);
|
||||||
|
|
||||||
/// Acqures a resource from GL.
|
/// Acquires a resource from GL.
|
||||||
void map(cl_command_queue queue);
|
void map(cl_command_queue queue);
|
||||||
|
|
||||||
/// Releases a resource to GL.
|
/// Releases a resource to GL.
|
||||||
|
@ -85,7 +85,7 @@ protected:
|
|||||||
|
|
||||||
bool allocate(ID3D11Device *device);
|
bool allocate(ID3D11Device *device);
|
||||||
|
|
||||||
// Acqures a cuda resource from DX11
|
// Acquires a cuda resource from DX11
|
||||||
void map();
|
void map();
|
||||||
|
|
||||||
// Releases a cuda resource to DX11
|
// Releases a cuda resource to DX11
|
||||||
|
@ -148,7 +148,7 @@ public:
|
|||||||
stencilTable,
|
stencilTable,
|
||||||
deviceContext);
|
deviceContext);
|
||||||
} else {
|
} else {
|
||||||
// Create an instace on demand (slow)
|
// Create an instance on demand (slow)
|
||||||
(void)deviceContext; // unused
|
(void)deviceContext; // unused
|
||||||
instance = Create(srcDesc, dstDesc,
|
instance = Create(srcDesc, dstDesc,
|
||||||
BufferDescriptor(),
|
BufferDescriptor(),
|
||||||
@ -212,7 +212,7 @@ private:
|
|||||||
ID3D11ClassLinkage * _classLinkage;
|
ID3D11ClassLinkage * _classLinkage;
|
||||||
ID3D11ClassInstance * _singleBufferKernel;
|
ID3D11ClassInstance * _singleBufferKernel;
|
||||||
ID3D11ClassInstance * _separateBufferKernel;
|
ID3D11ClassInstance * _separateBufferKernel;
|
||||||
ID3D11Buffer * _uniformArgs; // uniform paramaeters for kernels
|
ID3D11Buffer * _uniformArgs; // uniform parameters for kernels
|
||||||
|
|
||||||
int _workGroupSize;
|
int _workGroupSize;
|
||||||
};
|
};
|
||||||
|
@ -328,7 +328,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// \brief dispatch eval stencils function with derivatives.
|
/// \brief dispatch eval stencils function with derivatives.
|
||||||
/// dispatch the GLSL XFB kernel on on GPU asynchronously.
|
/// dispatch the GLSL XFB kernel on GPU asynchronously.
|
||||||
///
|
///
|
||||||
/// @param srcBuffer GL buffer of input primvars.
|
/// @param srcBuffer GL buffer of input primvars.
|
||||||
///
|
///
|
||||||
|
@ -304,7 +304,7 @@ uniform samplerBuffer OsdFVarDataBuffer;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ------ extract from triangles (loop) ---------
|
// ------ extract from triangles (loop) ---------
|
||||||
// XXX: no interpolation supproted
|
// XXX: no interpolation supported
|
||||||
|
|
||||||
#define OSD_COMPUTE_FACE_VARYING_TRI_1(result, fvarOffset, triVert) \
|
#define OSD_COMPUTE_FACE_VARYING_TRI_1(result, fvarOffset, triVert) \
|
||||||
{ \
|
{ \
|
||||||
@ -575,7 +575,7 @@ OsdComputeBSplineBoundaryPoints(inout vec3 cpt[16], ivec3 patchParam)
|
|||||||
// (labeled vv* and ev* respectively).
|
// (labeled vv* and ev* respectively).
|
||||||
//
|
//
|
||||||
// The two segments of each transition edge are labeled Lo and Hi,
|
// The two segments of each transition edge are labeled Lo and Hi,
|
||||||
// with the Lo segment occuring before the Hi segment along the
|
// with the Lo segment occurring before the Hi segment along the
|
||||||
// transition edge's domain parameterization. These Lo and Hi segment
|
// transition edge's domain parameterization. These Lo and Hi segment
|
||||||
// tessellation levels determine how domain evaluation coordinates
|
// tessellation levels determine how domain evaluation coordinates
|
||||||
// are remapped along transition edges. The Hi segment value will
|
// are remapped along transition edges. The Hi segment value will
|
||||||
@ -632,7 +632,7 @@ float OsdComputeTessLevel(vec3 p0, vec3 p1)
|
|||||||
|
|
||||||
// We restrict adaptive tessellation levels to half of the device
|
// We restrict adaptive tessellation levels to half of the device
|
||||||
// supported maximum because transition edges are split into two
|
// supported maximum because transition edges are split into two
|
||||||
// halfs and the sum of the two corresponding levels must not exceed
|
// halves and the sum of the two corresponding levels must not exceed
|
||||||
// the device maximum. We impose this limit even for non-transition
|
// the device maximum. We impose this limit even for non-transition
|
||||||
// edges because a non-transition edge must be able to match up with
|
// edges because a non-transition edge must be able to match up with
|
||||||
// one half of the transition edge of an adjacent transition patch.
|
// one half of the transition edge of an adjacent transition patch.
|
||||||
|
@ -448,7 +448,7 @@ OsdComputeBSplineBoundaryPoints(inout float3 cpt[16], int3 patchParam)
|
|||||||
// (labeled vv* and ev* respectively).
|
// (labeled vv* and ev* respectively).
|
||||||
//
|
//
|
||||||
// The two segments of each transition edge are labeled Lo and Hi,
|
// The two segments of each transition edge are labeled Lo and Hi,
|
||||||
// with the Lo segment occuring before the Hi segment along the
|
// with the Lo segment occurring before the Hi segment along the
|
||||||
// transition edge's domain parameterization. These Lo and Hi segment
|
// transition edge's domain parameterization. These Lo and Hi segment
|
||||||
// tessellation levels determine how domain evaluation coordinates
|
// tessellation levels determine how domain evaluation coordinates
|
||||||
// are remapped along transition edges. The Hi segment value will
|
// are remapped along transition edges. The Hi segment value will
|
||||||
@ -505,7 +505,7 @@ float OsdComputeTessLevel(float3 p0, float3 p1)
|
|||||||
|
|
||||||
// We restrict adaptive tessellation levels to half of the device
|
// We restrict adaptive tessellation levels to half of the device
|
||||||
// supported maximum because transition edges are split into two
|
// supported maximum because transition edges are split into two
|
||||||
// halfs and the sum of the two corresponding levels must not exceed
|
// halves and the sum of the two corresponding levels must not exceed
|
||||||
// the device maximum. We impose this limit even for non-transition
|
// the device maximum. We impose this limit even for non-transition
|
||||||
// edges because a non-transition edge must be able to match up with
|
// edges because a non-transition edge must be able to match up with
|
||||||
// one half of the transition edge of an adjacent transition patch.
|
// one half of the transition edge of an adjacent transition patch.
|
||||||
|
@ -313,7 +313,7 @@ Scheme<SCHEME_LOOP>::assignSmoothLimitMask(VERTEX const& vertex, MASK& posMask)
|
|||||||
//
|
//
|
||||||
// A note on tangent magnitudes:
|
// A note on tangent magnitudes:
|
||||||
//
|
//
|
||||||
// Several formulae exist for limit tangents at a vertex to accomodate the
|
// Several formulae exist for limit tangents at a vertex to accommodate the
|
||||||
// different topological configurations around the vertex. While these produce
|
// different topological configurations around the vertex. While these produce
|
||||||
// the desired direction, there is inconsistency in the resulting magnitudes.
|
// the desired direction, there is inconsistency in the resulting magnitudes.
|
||||||
// Ideally a regular mesh of uniformly shaped triangles with similar edge lengths
|
// Ideally a regular mesh of uniformly shaped triangles with similar edge lengths
|
||||||
|
@ -101,10 +101,10 @@ public:
|
|||||||
/// \brief Set edge crease rule
|
/// \brief Set edge crease rule
|
||||||
void SetCreasingMethod(CreasingMethod c) { _creasingMethod = c; }
|
void SetCreasingMethod(CreasingMethod c) { _creasingMethod = c; }
|
||||||
|
|
||||||
/// \brief Get triangle subdivsion weights rule (Catmark scheme only !)
|
/// \brief Get triangle subdivision weights rule (Catmark scheme only !)
|
||||||
TriangleSubdivision GetTriangleSubdivision() const { return (TriangleSubdivision) _triangleSub; }
|
TriangleSubdivision GetTriangleSubdivision() const { return (TriangleSubdivision) _triangleSub; }
|
||||||
|
|
||||||
/// \brief Set triangle subdivsion weights rule (Catmark scheme only !)
|
/// \brief Set triangle subdivision weights rule (Catmark scheme only !)
|
||||||
void SetTriangleSubdivision(TriangleSubdivision t) { _triangleSub = t; }
|
void SetTriangleSubdivision(TriangleSubdivision t) { _triangleSub = t; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -131,7 +131,7 @@ public:
|
|||||||
/// edge while T2 points inward across the limit surface.
|
/// edge while T2 points inward across the limit surface.
|
||||||
///
|
///
|
||||||
/// As for magnitude, no assumptions should be made of the magnitudes of the resulting
|
/// As for magnitude, no assumptions should be made of the magnitudes of the resulting
|
||||||
/// tanget vectors. Common formulae often factor out scale factors that contribute to
|
/// tangent vectors. Common formulae often factor out scale factors that contribute to
|
||||||
/// magnitude. While some attempt has been made to make magnitudes more consistent
|
/// magnitude. While some attempt has been made to make magnitudes more consistent
|
||||||
/// between regular corners, boundaries and the interior, the same has not been done at
|
/// between regular corners, boundaries and the interior, the same has not been done at
|
||||||
/// irregular vertices -- at least not yet. This may be addressed in future, as having
|
/// irregular vertices -- at least not yet. This may be addressed in future, as having
|
||||||
@ -484,7 +484,7 @@ Scheme<SCHEME>::ComputeEdgeVertexMask(EDGE const& edge,
|
|||||||
// provided though, there are cases where the parent and child sharpness values need to be
|
// provided though, there are cases where the parent and child sharpness values need to be
|
||||||
// identified, so accounting for the unknown Rules too is not much of an added complication.
|
// identified, so accounting for the unknown Rules too is not much of an added complication.
|
||||||
//
|
//
|
||||||
// The benefit of supporting specified Rules is that they can often often be trivially
|
// The benefit of supporting specified Rules is that they can often be trivially
|
||||||
// determined from context (e.g. a vertex derived from a face at a previous level will always
|
// determined from context (e.g. a vertex derived from a face at a previous level will always
|
||||||
// be smooth) rather than more generally, and at greater cost, inspecting neighboring and
|
// be smooth) rather than more generally, and at greater cost, inspecting neighboring and
|
||||||
// they are often the same for parent and child.
|
// they are often the same for parent and child.
|
||||||
@ -572,7 +572,7 @@ Scheme<SCHEME>::ComputeVertexVertexMask(VERTEX const& vertex,
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Intialize a local child mask, compute the fractional weight from parent and child
|
// Initialize a local child mask, compute the fractional weight from parent and child
|
||||||
// sharpness values and combine the two masks:
|
// sharpness values and combine the two masks:
|
||||||
//
|
//
|
||||||
typedef typename MASK::Weight Weight;
|
typedef typename MASK::Weight Weight;
|
||||||
|
@ -139,7 +139,7 @@ FVarLevel::resizeValues(int valueCount) {
|
|||||||
//
|
//
|
||||||
// Once values have been identified for each vertex and tagged, refinement propagates
|
// Once values have been identified for each vertex and tagged, refinement propagates
|
||||||
// the tags to child values using more simplified logic (child values inherit the
|
// the tags to child values using more simplified logic (child values inherit the
|
||||||
// topology of their parent) and no futher analysis is required.
|
// topology of their parent) and no further analysis is required.
|
||||||
//
|
//
|
||||||
void
|
void
|
||||||
FVarLevel::completeTopologyFromFaceValues(int regularBoundaryValence) {
|
FVarLevel::completeTopologyFromFaceValues(int regularBoundaryValence) {
|
||||||
@ -413,7 +413,7 @@ FVarLevel::completeTopologyFromFaceValues(int regularBoundaryValence) {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Now that we know the total number of additional sibling values (M values in addition
|
// Now that we know the total number of additional sibling values (M values in addition
|
||||||
// to the N vertex values) allocate space to accomodate all N + M vertex values.
|
// to the N vertex values) allocate space to accommodate all N + M vertex values.
|
||||||
//
|
//
|
||||||
// Then make the second pass through the vertices to identify the values associated with
|
// Then make the second pass through the vertices to identify the values associated with
|
||||||
// each and to inspect and tag local face-varying topology for those that don't match:
|
// each and to inspect and tag local face-varying topology for those that don't match:
|
||||||
|
@ -66,7 +66,7 @@ namespace internal {
|
|||||||
// take up almost half the memory of this representation, so if memory does
|
// take up almost half the memory of this representation, so if memory does
|
||||||
// become a concern, we do not need to store them. The only reason we do so now
|
// become a concern, we do not need to store them. The only reason we do so now
|
||||||
// is that the face-value interface for specifying base topology and inspecting
|
// is that the face-value interface for specifying base topology and inspecting
|
||||||
// subsequent levels is very familar to that of face-vertices for clients. So
|
// subsequent levels is very familiar to that of face-vertices for clients. So
|
||||||
// having them available for such access is convenient.
|
// having them available for such access is convenient.
|
||||||
//
|
//
|
||||||
// Regarding scope and access...
|
// Regarding scope and access...
|
||||||
|
@ -1463,7 +1463,7 @@ namespace {
|
|||||||
//
|
//
|
||||||
// The "dynamic relation" allocates the latter vector of members based on a typical
|
// The "dynamic relation" allocates the latter vector of members based on a typical
|
||||||
// number of members per component, e.g. we expect valence 4 vertices in a typical
|
// number of members per component, e.g. we expect valence 4 vertices in a typical
|
||||||
// quad-mesh, and so an "expected" number might be 6 to accomodate a few x-ordinary
|
// quad-mesh, and so an "expected" number might be 6 to accommodate a few x-ordinary
|
||||||
// vertices. The member vector is allocated with this number per component and the
|
// vertices. The member vector is allocated with this number per component and the
|
||||||
// counts and offsets initialized to refer to them -- but with the counts set to 0.
|
// counts and offsets initialized to refer to them -- but with the counts set to 0.
|
||||||
// The count will be incremented as members are identified and entered, and if any
|
// The count will be incremented as members are identified and entered, and if any
|
||||||
|
@ -59,11 +59,11 @@ class FVarLevel;
|
|||||||
// the topology (i.e. all quads or all tris if not level 0).
|
// the topology (i.e. all quads or all tris if not level 0).
|
||||||
//
|
//
|
||||||
// This class is intended for private use within the library. There are still
|
// This class is intended for private use within the library. There are still
|
||||||
// opportunities to specialize levels -- e.g. those supporing N-sided faces vs
|
// opportunities to specialize levels -- e.g. those supporting N-sided faces vs
|
||||||
// those are are purely quads or tris -- so we prefer to insulate it from public
|
// those that are purely quads or tris -- so we prefer to insulate it from public
|
||||||
// access.
|
// access.
|
||||||
//
|
//
|
||||||
// The represenation of topology here is to store six topological relationships
|
// The representation of topology here is to store six topological relationships
|
||||||
// in tables of integers. Each is stored in its own array(s) so the result is
|
// in tables of integers. Each is stored in its own array(s) so the result is
|
||||||
// a SOA representation of the topology. The six relations are:
|
// a SOA representation of the topology. The six relations are:
|
||||||
//
|
//
|
||||||
@ -75,7 +75,7 @@ class FVarLevel;
|
|||||||
// - vert-edges: edges incident a vertex
|
// - vert-edges: edges incident a vertex
|
||||||
//
|
//
|
||||||
// There is some redundancy here but the intent is not that this be a minimal
|
// There is some redundancy here but the intent is not that this be a minimal
|
||||||
// represenation, the intent is that it be amenable to refinement. Classes in
|
// representation, the intent is that it be amenable to refinement. Classes in
|
||||||
// the Far layer essentially store 5 of these 6 in a permuted form -- we add
|
// the Far layer essentially store 5 of these 6 in a permuted form -- we add
|
||||||
// the face-edges here to simplify refinement.
|
// the face-edges here to simplify refinement.
|
||||||
//
|
//
|
||||||
|
@ -196,7 +196,7 @@ QuadRefinement::populateFaceEdgesFromParentFaces() {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// This is fairly straightforward, but since we are dealing with edges here, we
|
// This is fairly straightforward, but since we are dealing with edges here, we
|
||||||
// occasionally have to deal with the limition of them being undirected. Since
|
// occasionally have to deal with the limitation of them being undirected. Since
|
||||||
// child faces from the same parent face share much in common, we iterate through
|
// child faces from the same parent face share much in common, we iterate through
|
||||||
// the parent faces.
|
// the parent faces.
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user