28 #include "../hbr/hierarchicalEdit.h"
30 #include "../version.h"
32 namespace OpenSubdiv {
33 namespace OPENSUBDIV_VERSION {
38 std::ostream& operator<<(std::ostream& out, const HbrFaceEdit<T>& path) {
39 out <<
"face path = (" << path.
faceid <<
' ';
40 for (
int i = 0; i < path.nsubfaces; ++i) {
41 out << static_cast<int>(path.subfaces[i]) <<
' ';
52 :
HbrHierarchicalEdit<T>(_faceid, _nsubfaces, _subfaces), index(_index), width(_width), op(_op) {
53 edit =
new float[width];
54 memcpy(edit, _edit, width *
sizeof(
float));
58 :
HbrHierarchicalEdit<T>(_faceid, _nsubfaces, _subfaces), index(_index), width(_width), op(_op) {
59 edit =
new float[width];
60 memcpy(edit, _edit, width *
sizeof(
float));
65 :
HbrHierarchicalEdit<T>(_faceid, _nsubfaces, _subfaces), index(_index), width(_width), op(_op) {
66 edit =
new float[width];
67 RtString* sedit = (RtString*) edit;
72 :
HbrHierarchicalEdit<T>(_faceid, _nsubfaces, _subfaces), index(_index), width(_width), op(_op) {
73 edit =
new float[width];
74 RtString* sedit = (RtString*) edit;
83 friend std::ostream& operator<< <T> (std::ostream& out,
const HbrFaceEdit<T>& path);
92 const float*
GetEdit()
const {
return edit; }
121 using namespace OPENSUBDIV_VERSION;
void SetUniformIndex(int i)
virtual void ApplyEditToFace(HbrFace< T > *face)
HbrFaceEdit(int _faceid, int _nsubfaces, unsigned char *_subfaces, int _index, int _width, typename HbrHierarchicalEdit< T >::Operation _op, float *_edit)
HbrHierarchicalEdit< T >::Operation GetOperation() const
HbrMesh< T > * GetMesh() const
HbrVertex< T > * GetVertex(int index) const
int GetUniformIndex() const
const float * GetEdit() const
HbrFaceEdit(int _faceid, int _nsubfaces, int *_subfaces, int _index, int _width, typename HbrHierarchicalEdit< T >::Operation _op, float *_edit)