summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/drawsurface.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/drawsurface.h')
-rw-r--r--Build/source/utils/asymptote/drawsurface.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/Build/source/utils/asymptote/drawsurface.h b/Build/source/utils/asymptote/drawsurface.h
index 16d369cb545..693488cfcf6 100644
--- a/Build/source/utils/asymptote/drawsurface.h
+++ b/Build/source/utils/asymptote/drawsurface.h
@@ -26,6 +26,7 @@ class drawSurface : public drawElement {
protected:
Triple *controls;
Triple vertices[4];
+ triple center;
bool straight;
RGBAColour diffuse;
RGBAColour ambient;
@@ -48,14 +49,14 @@ protected:
triple dperp;
#endif
+public:
static const triple zero;
-public:
- drawSurface(const vm::array& g, bool straight, const vm::array&p,
- double opacity, double shininess, double PRCshininess,
- double granularity, triple normal, const vm::array &pens,
- bool lighton, const string& name) :
- straight(straight), opacity(opacity), shininess(shininess),
+ drawSurface(const vm::array& g, triple center, bool straight,
+ const vm::array&p, double opacity, double shininess,
+ double PRCshininess, double granularity, triple normal,
+ const vm::array &pens, bool lighton, const string& name) :
+ center(center), straight(straight), opacity(opacity), shininess(shininess),
PRCshininess(PRCshininess), granularity(granularity), normal(unit(normal)),
lighton(lighton), name(name) {
string wrongsize=
@@ -127,6 +128,7 @@ public:
}
} else controls=NULL;
+ center=run::operator *(t,s->center);
normal=run::multshiftless(t,s->normal);
#ifdef HAVE_LIBGL