GLC_Cone::GLC_Cone(const GLC_Cone& sourceCone) :GLC_Mesh(sourceCone) , m_Radius(sourceCone.m_Radius) , m_Length(sourceCone.m_Length) , m_Discret(sourceCone.m_Discret) { createMeshAndWire(); }
const GLC_BoundingBox& GLC_Cone::boundingBox() { if (GLC_Mesh::isEmpty()) { createMeshAndWire(); } return GLC_Mesh::boundingBox(); }
// Copy constructor GLC_Box::GLC_Box(const GLC_Box& box) :GLC_Mesh(box) , m_dLgX(box.m_dLgX) , m_dLgY(box.m_dLgY) , m_dLgZ(box.m_dLgZ) { createMeshAndWire(); }
GLC_Box::GLC_Box(double dLx, double dLy, double dlz) :GLC_Mesh() , m_dLgX(dLx) , m_dLgY(dLy) , m_dLgZ(dlz) { createMeshAndWire(); }
GLC_Cone::GLC_Cone(double dRadius, double dLength) :GLC_Mesh() , m_Radius(dRadius) , m_Length(dLength) , m_Discret(glc::GLC_POLYDISCRET) // Default discretion { Q_ASSERT((m_Radius > 0.0) && (m_Length > 0.0)); createMeshAndWire(); }
GLC_Disc::GLC_Disc(const GLC_Disc& disc) : GLC_Mesh(disc) , m_Radius(disc.m_Radius) , m_Discret(disc.m_Discret) , m_Angle(disc.m_Angle) , m_Step(disc.m_Step) { createMeshAndWire(); }
GLC_Disc::GLC_Disc(double radius, double angle, int discretization) : GLC_Mesh() , m_Radius(radius) , m_Discret(discretization) , m_Angle(angle) , m_Step(0) { createMeshAndWire(); }
////////////////////////////////////////////////////////////////////// // Private Opengl functions ////////////////////////////////////////////////////////////////////// void GLC_Disc::glDraw(const GLC_RenderProperties& renderProperties) { if (GLC_Mesh::isEmpty()) { createMeshAndWire(); } GLC_Mesh::glDraw(renderProperties); }
GLC_Cone::GLC_Cone(double dRadius, double dLength, int discretization) :GLC_Mesh() , m_Radius(dRadius) , m_Length(dLength) , m_Discret(discretization) // Default discretion { Q_ASSERT((m_Radius > 0.0) && (m_Length > 0.0)); createMeshAndWire(); }
GLC_Cylinder::GLC_Cylinder(double dRadius, double dLength) :GLC_Mesh() , m_Radius(dRadius) , m_Length(dLength) , m_Discret(glc::GLC_POLYDISCRET) // Default discretion , m_EndedIsCaped(true) // Cylinder ended are closed { Q_ASSERT((m_Radius > 0.0) && (m_Length > 0.0)); createMeshAndWire(); }
GLC_Cylinder::GLC_Cylinder(const GLC_Cylinder& sourceCylinder) :GLC_Mesh(sourceCylinder) , m_Radius(sourceCylinder.m_Radius) , m_Length(sourceCylinder.m_Length) , m_Discret(sourceCylinder.m_Discret) , m_EndedIsCaped(sourceCylinder.m_EndedIsCaped) { Q_ASSERT((m_Radius > 0.0) && (m_Length > 0.0) && (m_Discret > 0)); if (isEmpty()) createMeshAndWire(); }