18 #ifndef __GU_EdgeMesh_h__
19 #define __GU_EdgeMesh_h__
41 virtual void buildMesh(
const GU_Detail* gdp) = 0;
44 void setMinimumDistance(
T min_dist);
53 template<
bool USE_SPEEDS>
82 void setDiffusionRatesCacheIds(
bool used,
GA_DataId id,
float min_rate)
86 void resetCache()
const;
164 template<
bool WRITE_TO_ALL,
bool CHECK_EQUALITY = false>
166 int comp,
T def,
T equal)
const;
171 void copyArrayFromAttributeAndSetPinned(
UT_Array<T>& dst_a,
182 void copyArraysFromAttributesAndSetPinned(
UT_Array<T>& a1,
197 template<
bool CLAMP_BELOW = false,
bool CLAMP_ABOVE = false>
199 int comp,
T below = 0,
T above = 1)
const;
Definition of a geometry attribute.
virtual void buildMesh(const GU_Detail *gdp)=0
gu_EMSolveCache< T > * mySolveCache
Our solve cache to speed up subsequent similar solves.
IMATH_HOSTDEVICE constexpr bool equal(T1 a, T2 b, T3 t) IMATH_NOEXCEPT
**But if you need a result
Forward-declaration of the internal cache class.
ImageBuf OIIO_API laplacian(const ImageBuf &src, ROI roi={}, int nthreads=0)
GA_DataId myTopologyId
Data ID for mesh topology of the last built graph.
const GU_Detail * myDetail
Pointer to the detail this is to be built from.
UT_Array< UT_Set< int > > myVertexConnections
Adjacency list for each vertex.
GU_EXTERN_TEMPLATE(GU_EdgeMeshBase< fpreal32 >)
UT_Array< UT_Vector3T< T > > myVertexPositions
Array of point locations in space.
UT_Map< GA_Offset, int > myIndexMap
Mapping of point offsets in the detail to indices in the mesh.
This base class implements the low-level solve routines for GU_EdgeMesh.
GA_DataId myPositionId
Data ID for the position attribute of the last built graph.
int myNumVertices
Number of vertices in this graph.