All pastes #421291 Raw Edit

Mine

public cpp v1 · immutable
·published 2007-04-02 19:19 UTC
rendered paste body
Cylindre.cpp#include "Vect3D.h"#include "Cylindre.h"#include "Vect3D.h"#include "Railum.h"#include "Triangle.h"#include <iostream>Intersc::Intersc(const Vect3D & p, int i):positionlum(p),intensiteIntersc(i){}Cylindre::Cylindre(const Vect3D &pc, const Vect3D &d, double &r):positionc(pc),directionc(d),rayonc(r){} Cylindre.h #ifndef _CYLINDRE_H#define _CYLINDRE_H#include "Vect3D.h"#include "Railum.h"#include "Triangle.h"#include <cmath>class Intersc{Vect3D positionlum;int intensiteIntersc;public:Intersc(const Vect3D & = Vect3D(0,0,0), const int = 0);Vect3D & getPositionlum(){return positionlum;};const Vect3D & getPositionlum()const {return positionlum;};int & getIntensitec(){return intensiteIntersc;};const int & getIntensitec()const {return intensiteIntersc;};};class Cylindre{ Vect3D positionc;Vect3D directionc;double rayonc;public:Cylindre(const Vect3D & = Vect3D(0,0,0),const Vect3D & = Vect3D(0,0,0),double = 0);Vect3D & getPositionc(){return positionc;};const Vect3D & getPositionc() const{return positionc;};Vect3D & getDirectionc(){return directionc;};const Vect3D & getDirectionc() const{return directionc;};double & getrayonc(){return rayonc;};double rayoncalcule(Railum & railum1,Triangle & t1){double b;Vect3D sommetA;Vect3D sommetB;Vect3D sommetD;sommetA=positionc;sommetB=positionc-railum1.reflexion(t1);sommetD=positionc+directionc;b=90-acos(abs(dotProduct(sommetB-sommetA,sommetD-sommetA))/((sommetB-sommetA).norm()*(sommetD-sommetA).norm()));double temp=rayonc/sin(b);return temp;};};#endif