Forum Orbiter Italia
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.


CLICCA QUI PER SCARICARE ORBITER 2016
 
IndiceIndice  LinkLink  Ultime immaginiUltime immagini  CercaCerca  RegistratiRegistrati  Accedi  
Accedi
Nome utente:
Password:
Connessione automatica: 
:: Ho dimenticato la password
FOI è sui social



Parole chiave
Fausto modellino tutorial 2024 Rientro TransX IMFD tastiera d3d9 terra comandi 2022 texture apollo Shuttle ummu OrbiterSound jarvis SPACE autofcs Nassp 2025 DGIV Antares AMSO Eridanus
Siti amici
AstronautiNEWS

ForumAstronautico

Orbiter Forum

Tuttovola.org
Ultimi argomenti attivi
» Buona Pasqua 2024!
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mar 2 Apr 2024 - 22:13

» Premiato il team del satellite italiano AGILE
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Mer 21 Feb 2024 - 17:17

» Progetto: NOVA HLV
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Lun 5 Feb 2024 - 8:55

» Space Shuttle Atlantis al KSC Visitor Complex
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Gio 22 Giu 2023 - 11:46

» Primo lancio di Starship: successo o fallimento?
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Ven 5 Mag 2023 - 18:19

» Rendere L'audio di Orbiter Sound e XR Sound indipendenti senza capogiri!
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Kappa4401 Mer 5 Apr 2023 - 13:59

» Kappa4401 Orbiter's Tour
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Kappa4401 Mer 29 Mar 2023 - 13:59

» OpenOrbiter BETA
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mer 29 Mar 2023 - 0:39

» Missione "Robin Sunrise"
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Mar 20 Dic 2022 - 8:56

» Errore Orbiter "Initialising 3D environment"
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mar 13 Dic 2022 - 16:26

» Artemis I
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mar 22 Nov 2022 - 16:16

» Sviluppo della Flotta XR Open Source
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Lun 14 Nov 2022 - 15:24

» D3D9 - il client grafico di Jarmonik
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Lun 31 Ott 2022 - 12:28

» Ci ha lasciati Jim McDivitt
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Pete Conrad Lun 17 Ott 2022 - 21:19

» "Starlab" space station
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Pete Conrad Gio 6 Ott 2022 - 15:12

» Ciao a tutti
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Lun 5 Set 2022 - 22:01

» "Saturn X" concept
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Andrew Mer 10 Ago 2022 - 0:30

» Avere 2 versioni della stessa base
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mar 28 Giu 2022 - 17:49

» Costruiranno uno spazioporto per suborbitali a Taranto?
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Francy03 Sab 18 Giu 2022 - 20:04

» Missione Minerva
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Gio 16 Giu 2022 - 23:06

» Ciao a tutti da Francy
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Gio 16 Giu 2022 - 11:59

» Orbit Hangar - nuovo indirizzo
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Lun 13 Giu 2022 - 17:46

» Ruote dei Delta Glider e Simili mezze sottoterra!
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Kappa4401 Ven 11 Mar 2022 - 20:22

» E' morto Tito Stagno
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Pete Conrad Mar 1 Feb 2022 - 20:41

» Crash di Orbiter 2016 con gli astronauti!
Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptyDa Ripley Mar 4 Gen 2022 - 14:03

Argomenti simili

 

 [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro

Andare in basso 
AutoreMessaggio
simone
Add-on Developer
Add-on Developer
simone


Numero di messaggi : 1010
Età : 28
Località : Catania
Data d'iscrizione : 12.02.10

Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro Empty
MessaggioTitolo: [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro   Rientro - [c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro EmptySab 15 Giu 2013 - 15:47

appena finito di implementare la funzione nel mio machiavelli ho pensato che metterla in questa sezione ,e ampliarla sempre più in modo da farla diventare un manuale per chi come me è alle prime armi con il c++,sarebbe stata una buona idea quindi cominciamo


INTANTO i credits
la formula per il calore è stata presa da una discussione su OF appena la ritrovo dò i giusti credits
per quanto riguarda la stringa che chiude l'attuale dll i credits vanno a Fred


//questa funzione permette alla dll di aggiornare in ogni istante i valori
//che inseriremo subito sotto,l'ideale per il nostro scopo
void machiavelli::clbkPostStep(double simt,double simdt,double mjd)
{


//la formula che permette di trovare la temperatura
//GetDynPressure() e GetAirspeed() leggono i valori attuali corrispondenti
//in tempo "reale"
double heat = (0.5*GetDynPressure() * (GetAirspeed()))/100000;
//
//questo codice invece ci dice che se la temperatura va sopra i 600 kelvin si attiva
//la nostra funzione 
if (heat>600){
//
///////////creazione primo detrito tramite un comando jettison (vedi avanti) 
Jettison();
////chiusura dll attuale
OBJHANDLE hdel;
hdel=GetHandle();
oapiDeleteVessel(hdel);
}else{}
};


ATTENZIONE la stringa di chiusura della dll va messa sempre alla fine della nostra funzione
per ovvi motivi


la funzione jettison in ordine,inserisce dei puntatori che servono a calcolare la velocità al momento del distacco e inizializzano una nuova dll
esterna a quella del modulo attuale

il codice da usare è questo

void machiavelli::Jettison()
{
VESSELSTATUS2 vs;
memset(&vs,0,sizeof(vs));
vs.version=2;
GetStatusEx(&vs);

VECTOR3 ofs = _V(3,6,0);
VECTOR3 rofs, rvel = {vs.rvel.x, vs.rvel.y, vs.rvel.z};
VECTOR3 vel = {0,0,2};
Local2Rel (ofs, vs.rpos);
GlobalRot(vel,rofs);
vs.rvel.x=rvel.x+rofs.x;
vs.rvel.y=rvel.y+rofs.y;
vs.rvel.z=rvel.z+rofs.z;

//il nome del file .cfg del nuovo mezzo
oapiCreateVesselEx("machiavelli2", "machiavelli2", &vs);

//altra funzione Jettison in modo da creare più pezzi
Jettison12();
};


da notare che così creeremo un solo pezzo che si distaccherà ecco il perchè del richiamo ad un'altra funzione Jettison nell'ultima riga

VECTOR3 ofs = _V(3,6,0); cambiando questo valore cambierai la direzione di espulsione del detrito dando l'effetto esplosione


per quanto riguarda la visuale (che andrebbe "persa" una volta distrutto il modulo principale,creiamo una sola funzione jettison che abbia un puntatore 

OBJHANDLE h;

e che carichi così il nuovo detrito

h=oapiCreateVesselEx("machiavelli1", "machiavelli1", &vs); 

alla fine di questa funzione mettiamo

oapiSetFocusObject(h);


se qualcosa non è chiaro o se avete suggerimenti scrivete pure!
Torna in alto Andare in basso
https://www.facebook.com/profile.php?cropsuccess&id=100000660
 
[c++] utilizzare le variabili GetDynPressure()/GetAirspeed() per distruggere un mezzo in fase di rientro
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» velocità verticale in fase di rientro
» Come utilizzare la variabile MAN DATE su TransX
» rientro

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Forum Orbiter Italia :: Progetti della community :: Sviluppo Add-on :: Orbiter SDK-
Vai verso: