43 auto onEdgeSplit = [&] ( EdgeId e1, EdgeId e )
47 if ( org < data.
size() && dest < data.
size() )
48 data.
push_back( data[org] * 0.5f + data[dest] * 0.5f );
57 auto onEdgeSplit = [&] ( EdgeId e1, EdgeId e )
64 if ( newLeft && oldLeft && oldLeft < data.
size() )
72 if ( newRight && oldRight && oldRight < data.
size() )
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
MRMESH_API OnEdgeSplit meshOnEdgeSplitVertAttribute(const Mesh &mesh, const MeshAttributesToUpdate ¶ms)
std::size_t size() const
Definition MRVector.h:55
FaceId left(EdgeId he) const
returns left face of half-edge
Definition MRMeshTopology.h:99
VertId dest(EdgeId he) const
returns destination vertex of half-edge
Definition MRMeshTopology.h:96
void push_back(const T &t MR_LIFETIME_CAPTURE_BY_NESTED(this))
Definition MRVector.h:132
VertId org(EdgeId he) const
returns origin vertex of half-edge
Definition MRMeshTopology.h:93
auto onEdgeSplitVertAttribute(const Mesh &mesh, Vector< T, VertId > &data)
Definition MRMeshSubdivideCallbacks.h:41
auto onEdgeSplitFaceAttribute(const Mesh &mesh, Vector< T, FaceId > &data)
Definition MRMeshSubdivideCallbacks.h:55
MRMESH_API OnEdgeSplit meshOnEdgeSplitFaceAttribute(const Mesh &mesh, const MeshAttributesToUpdate ¶ms)
FaceId right(EdgeId he) const
returns right face of half-edge
Definition MRMeshTopology.h:102
void autoResizeSet(I pos, size_t len, T val) MR_REQUIRES_IF_SUPPORTED(sizeof(T)>0 &&std
Definition MRVector.h:100
MRMESH_API OnEdgeSplit meshOnEdgeSplitAttribute(const Mesh &mesh, const MeshAttributesToUpdate ¶ms)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
the attribute data of the mesh that needs to be updated
Definition MRMeshAttributesToUpdate.h:13
MeshTopology topology
Definition MRMesh.h:24