92 Vector v =
Vector(oldbox.minx, oldbox.miny, oldbox.minz);
96 p1.
x /= oldbox.maxx-oldbox.minx;
97 p1.
y /= oldbox.maxy-oldbox.miny;
98 p1.
z /= oldbox.maxz-oldbox.minz;
99 p2.
x /= oldbox.maxx-oldbox.minx;
100 p2.
y /= oldbox.maxy-oldbox.miny;
101 p2.
z /= oldbox.maxz-oldbox.minz;
102 p3.
x /= oldbox.maxx-oldbox.minx;
103 p3.
y /= oldbox.maxy-oldbox.miny;
104 p3.
z /= oldbox.maxz-oldbox.minz;
106 p1.
x *= newbox.maxx-newbox.minx;
107 p1.
y *= newbox.maxy-newbox.miny;
108 p1.
z *= newbox.maxz-newbox.minz;
109 p2.
x *= newbox.maxx-newbox.minx;
110 p2.
y *= newbox.maxy-newbox.miny;
111 p2.
z *= newbox.maxz-newbox.minz;
112 p3.
x *= newbox.maxx-newbox.minx;
113 p3.
y *= newbox.maxy-newbox.miny;
114 p3.
z *= newbox.maxz-newbox.minz;
116 Vector vv =
Vector(newbox.minx, newbox.miny, newbox.minz);
125 Cube3 oldbox, newbox;
137 p1 -= oldcoords.center;
138 p2 -= oldcoords.center;
139 p3 -= oldcoords.center;
141 p1x /= oldcoords.u_x.Dist();
144 p1y /= oldcoords.u_y.Dist();
147 p1z /= oldcoords.u_z.Dist();
151 p2x /= oldcoords.u_x.Dist();
154 p2y /= oldcoords.u_y.Dist();
157 p2z /= oldcoords.u_z.Dist();
161 p3x /= oldcoords.u_x.Dist();
164 p3y /= oldcoords.u_y.Dist();
167 p3z /= oldcoords.u_z.Dist();
171 Point v1 = newcoords.center + p1x*newcoords.u_x + p1y*newcoords.u_y + p1z*newcoords.u_z;
172 Point v2 = newcoords.center + p2x*newcoords.u_x + p2y*newcoords.u_y + p2z*newcoords.u_z;
173 Point v3 = newcoords.center + p3x*newcoords.u_x + p3y*newcoords.u_y + p3z*newcoords.u_z;
191 int Size()
const {
return pos.Size()*obj.Size(); }
194 int i1 = i / obj.Size();
195 int i2 = i - i1*obj.Size();
196 Cube3 c = pos.Index(i1);
197 Tri t = obj.Index(i2);
212 int Size()
const {
return arr.Size(); }
215 Tri t = arr.Index(i);
230 return coll.NumFaces();
235 tr.
p1 = coll.FacePoint(i, 0);
236 tr.
p2 = coll.FacePoint(i, 1);
237 tr.
p3 = coll.FacePoint(i, 2);
238 tr.
n1 = coll.PointNormal(i, 0);
239 tr.
n2 = coll.PointNormal(i, 1);
240 tr.
n3 = coll.PointNormal(i, 2);
241 tr.
c1 = coll.Color(i, 0);
242 tr.
c2 = coll.Color(i, 1);
243 tr.
c3 = coll.Color(i, 2);
244 tr.
tex1 = coll.TexCoord(i, 0);
245 tr.
tex2 = coll.TexCoord(i, 1);
246 tr.
tex3 = coll.TexCoord(i, 2);
257 virtual std::string
name()
const {
return "FaceCollectionFromTriArray"; }
273 Tri t = arr.Index(face);
278 case 0: p= t.
p1;
break;
279 case 1: p= t.
p2;
break;
280 case 2: p= t.
p3;
break;
287 Tri t = arr.Index(face);
296 float Attrib(
int face,
int point,
int id)
const
300 int AttribI(
int face,
int point,
int id)
const
304 unsigned int Color(
int face,
int point)
const
306 Tri t = arr.Index(face);
317 Tri t = arr.Index(face);
320 case 0:
return t.
tex1;
321 case 1:
return t.
tex2;
322 case 2:
return t.
tex3;
334 int Size()
const {
return index.Size(); }
344 tr.
p1 = coll.FacePoint(
f, i1);
345 tr.
p2 = coll.FacePoint(
f, i2);
346 tr.
p3 = coll.FacePoint(
f, i3);
347 tr.
n1 = coll.PointNormal(
f, i1);
348 tr.
n2 = coll.PointNormal(
f, i2);
349 tr.
n3 = coll.PointNormal(
f, i3);
350 tr.
c1 = coll.Color(
f, i1);
351 tr.
c2 = coll.Color(
f, i2);
352 tr.
c3 = coll.Color(
f, i3);
353 tr.
tex1 = coll.TexCoord(
f, i1);
354 tr.
tex2 = coll.TexCoord(
f, i2);
355 tr.
tex3 = coll.TexCoord(
f, i3);
371 int facescount = pol.NumFaces();
372 for(
int i=0;i<facescount;i++)
378 int size = pol.NumPoints(i);
386 triangles.push_back(t);
393 int Size()
const {
return triangles.size(); }
410 int facescount = pol.NumFaces();
411 for(
int i=0;i<facescount;i++)
417 int size = pol.NumPoints(i);
439 std::vector<int> faces;
451 int Size()
const {
return triarray.Size(); }
454 return triarray.Index(i);
528#define retp(x,y,z) if(A++==a) return Point(x*scale,y*scale,z*scale);
529#define forq(i) for(i=-1;i<=1;i+=2)
534 Dodecahedron(
double s) : scale(s) {};
535 virtual int Size()
const {
return 20; }
536 virtual Point
Index(
int a)
const {
537 double phi = (1+sqrt(5))/2;
551 retp(0,i*(1/phi),j*phi);
558 retp(i*(1/phi),j*phi,0);
565 retp(j*phi,0,i*(1/phi));
569 return Point(0.0,0.0,0.0);
580 bool Frame(
float time);
590 bool Frame(
float time);
LinePlaneIntersection LinePlaneIntersectionFunc(Point line_p1, Point line_p2, Point plane_p1, Point plane_p2, Point plane_p3)
Definition Intersect.cc:44
Point IntersectionPoint(LinePlaneIntersection &c, Point line_p1, Point line_p2)
Definition Intersect.cc:30
Definition Triangle.hh:209
Tri Index(int i) const
Definition Triangle.hh:213
ApplyTriArray(const TriArray &arr, ModifyValue< Tri > &mv)
Definition Triangle.hh:211
int Size() const
Definition Triangle.hh:212
virtual int Size() const=0
Tri Index(int i) const
Definition Triangle.hh:192
BoxedTriangles(Array< int, Cube3 > &pos, TriArray &obj, Cube3 objpos)
Definition Triangle.hh:190
int Size() const
Definition Triangle.hh:191
ColorTri(unsigned int c)
Definition Triangle.hh:59
void Modify(Tri &t) const
Definition Triangle.hh:60
Definition Triangle.hh:464
virtual TriArray * Triangles(Coords pos) const =0
Definition Effect.hh:3516
bool Frame(float time)
Definition Triangle.cc:39
virtual void HandlePointerMove(Point2d p)
Definition Triangle.hh:594
virtual void HandleKey(int key)
Definition Triangle.hh:592
DecodahedronEffect(Render *r)
Definition Triangle.hh:588
virtual void HandlePointer(int button)
Definition Triangle.hh:593
void Init()
Definition Triangle.cc:27
void PreFrame(float fr)
Definition Triangle.cc:30
FaceCollectionCoordObject(FaceCollection &coll, CoordSource &source)
Definition Triangle.hh:472
TriArray * Triangles(Coords pos) const
Definition Triangle.hh:477
virtual std::string name() const
Definition Triangle.hh:257
Vector PointNormal(int face, int point) const
Definition Triangle.hh:285
void HeavyPrepare()
Definition Triangle.hh:261
FaceCollectionFromTriArray(const TriArray &arr)
Definition Triangle.hh:256
int AttribI(int face, int point, int id) const
Definition Triangle.hh:300
void Collect(CollectVisitor &vis)
Definition Triangle.hh:258
int NumPoints(int face) const
Definition Triangle.hh:267
float Attrib(int face, int point, int id) const
Definition Triangle.hh:296
Point FacePoint(int face, int point) const
Definition Triangle.hh:271
int NumFaces() const
Definition Triangle.hh:262
Point2d TexCoord(int face, int point) const
Definition Triangle.hh:315
unsigned int Color(int face, int point) const
Definition Triangle.hh:304
Definition EffectI.hh:212
FrameAnim(Render *render)
Definition Effect.hh:110
virtual Point Index(int a) const=0
Definition Triangle.hh:37
virtual ~ModifyValue()
Definition Triangle.hh:40
virtual void Modify(T &t) const =0
Definition Triangle.hh:84
void Modify(Tri &t) const
Definition Triangle.hh:87
MoveBox(Cube3 oldbox, Cube3 newbox)
Definition Triangle.hh:86
Definition Triangle.hh:129
MoveCoords(Coords oldcoords, Coords newcoords)
Definition Triangle.hh:131
void Modify(Tri &t) const
Definition Triangle.hh:132
MoveTri(Vector v)
Definition Triangle.hh:46
void Modify(Tri &t) const
Definition Triangle.hh:47
Definition Triangle.hh:70
void Modify(Tri &t) const
Definition Triangle.hh:72
Definition VectorTools.hh:350
Definition Effect.hh:2456
Definition Effect.hh:9514
Definition Containment.hh:54
virtual TriArray * Triangles(const Array< int, Door > &doors) const =0
Definition GameApi_vo.cc:1110
Shadow(Plane pl, Point p)
Definition Triangle.hh:511
void Modify(Tri &t) const
Definition Triangle.hh:512
Definition Effect.hh:3156
Definition Triangle.hh:331
TriArrayFromFaceCollectionIndexFace(FaceCollection &coll, Array< int, TriIndex > &index, Array< int, FaceIndex > &faces)
Definition Triangle.hh:333
Tri Index(int i) const
Definition Triangle.hh:335
int Size() const
Definition Triangle.hh:334
TriArrayFromFaceCollection(FaceCollection &coll)
Definition Triangle.hh:227
Tri Index(int i) const
Definition Triangle.hh:232
int Size() const
Definition Triangle.hh:228
Definition Triangle.hh:184
Definition Triangle.hh:405
int Size() const
Definition Triangle.hh:426
void Gen()
Definition Triangle.hh:408
TriangulateConvexPolygonsFaces(FaceCollection &pol)
Definition Triangle.hh:407
FaceIndex Index(int i) const
Definition Triangle.hh:430
Definition Triangle.hh:365
void Gen()
Definition Triangle.hh:369
TriIndex Index(int face) const
Definition Triangle.hh:394
TriangulateConvexPolygonsIndex(FaceCollection &pol)
Definition Triangle.hh:367
int Size() const
Definition Triangle.hh:393
TriangulateEffect(Render *r)
Definition Triangle.hh:578
bool Frame(float time)
Definition Triangle.cc:21
void Init()
Definition Triangle.cc:11
Definition Triangle.hh:443
void Gen()
Definition Triangle.hh:446
Tri Index(int i) const
Definition Triangle.hh:452
int Size() const
Definition Triangle.hh:451
Triangulate(FaceCollection &coll)
Definition Triangle.hh:445
Definition Effect.hh:10694
Definition VectorTools.hh:125
static float DotProduct(const Vector &aVec, const Vector &aVec2)
Definition VectorTools.hh:185
static Vector CrossProduct(const Vector &aVec, const Vector &aVec2)
Definition VectorTools.hh:193
instead of< li > Displaying models works via URL t expect full length movie as the output of this process< li > Different animation models are very limited basically just translate rotate</ul >< h2 > What to do if your hosting location has no php</h2 >< ul >< li > comment out or remove display php lines at the beginning< li > you will lose threads too< li > every zip file distributed by meshpage org has one of those display php files with this issue</ul >< h2 > What should I do to serve the files via http</h2 > I get some random triangles that do not belong to the model</h2 > The engine works correctly The obj file supports triangles
Definition meshpage.php:1088
n< br > font size
Definition meshpage.php:3536
double f(const std::string &, double, bool) noexcept
Definition profile_cpp_calls_2.cpp:4
Definition VectorTools.hh:755
Definition Triangle.hh:493
Plane plane
Definition Triangle.hh:495
Point2d topleft
Definition Triangle.hh:496
Point2d bottomleft
Definition Triangle.hh:498
Point2d topright
Definition Triangle.hh:497
Point2d bottomright
Definition Triangle.hh:499
Definition Triangle.hh:15
int face
Definition Triangle.hh:16
Definition Intersect.hh:30
Definition VectorTools.hh:910
float x
Definition Parser.cc:60
float y
Definition Parser.cc:60
float z
Definition Parser.cc:60
int i2
Definition Triangle.hh:11
int i1
Definition Triangle.hh:10
int i3
Definition Triangle.hh:12
Definition Triangle.hh:20
Vector n2
Definition Triangle.hh:25
Vector n3
Definition Triangle.hh:26
Point2d tex2
Definition Triangle.hh:31
unsigned int c1
Definition Triangle.hh:27
unsigned int c2
Definition Triangle.hh:28
Vector n1
Definition Triangle.hh:24
Point p3
Definition Triangle.hh:23
unsigned int c3
Definition Triangle.hh:29
Point p1
Definition Triangle.hh:21
Point p2
Definition Triangle.hh:22
Point2d tex1
Definition Triangle.hh:30
Point2d tex3
Definition Triangle.hh:32