historical/toontown-classic.git/panda/include/eggMakeTube.h
2024-01-16 11:20:27 -06:00

55 lines
1.1 KiB
C++

/**
* PANDA 3D SOFTWARE
* Copyright (c) Carnegie Mellon University. All rights reserved.
*
* All use of this software is subject to the terms of the revised BSD
* license. You should have received a copy of this license along
* with this source code in a file named "LICENSE."
*
* @file eggMakeTube.h
* @author drose
* @date 2003-10-01
*/
#ifndef EGGMAKETUBE_H
#define EGGMAKETUBE_H
#include "pandatoolbase.h"
#include "eggMakeSomething.h"
class EggGroup;
class EggVertexPool;
class EggVertex;
/**
* A program to generate an egg file representing a tube model, similar in
* shape to a CollisionCapsule.
*/
class EggMakeTube : public EggMakeSomething {
public:
EggMakeTube();
void run();
private:
EggVertex *calc_sphere1_vertex(int ri, int si);
EggVertex *calc_sphere2_vertex(int ri, int si);
EggVertex *calc_tube_vertex(int ri, int si);
void add_polygon(EggVertex *a, EggVertex *b, EggVertex *c, EggVertex *d);
private:
double _point_a[3];
double _point_b[3];
bool _got_point_b;
double _radius;
int _num_slices;
int _num_crings;
int _num_trings;
double _length;
EggGroup *_group;
EggVertexPool *_vpool;
};
#endif