Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]rappresentazione grafica e entità

    Ciao.
    Ho creato un progetto con il pattern MVP.
    La View è una classe che gestisce la rappresentazione opengl con uno scenegraph ,ha un metodo che viene richiamato per ridisegnare (OnPaint) e "disegna" la serie di oggetti che ha appunto nello scenegraph.
    Per aggiungere o cancellare un oggetto dallo scenegraph utilizzo due funzioni pubbliche sulla view Add(GraphicsItem gI) e Remove(GraphicsItem gI).
    Io in pratica agisco su questi graphicsitem che vengono ridisegnati ogni volta e non faccio altro che aggiungere / rimuovere oggetti 3d.
    Ma se volessi gestire altre operazioni grafiche come la selezione rappresentata con un contorno di colore rosso , o aggiungere delle quote all' oggetto grafico , come è meglio procedere?
    io penso in due modi :
    1)aggiungere un metodo sulla view che fa l'operazione , e passargli sempre l'oggetto rappresentazione grafica.
    2)creare una classe entità con uno stato , e la sua rappresentazione grafica e utilizzare ad es un decorator pattern per aggiungere tipi di rappresentazione(quote e selezioni)e nella classe view chiamare un Paint sulla rappresentazione grafica corrente.
    A seconda dei decorator impostati il paint si comporterà diversamente.

    il fatto di creare questa classe entity mi servirebbe anche per gestire la logica e le parti non grafiche dellì' elemento.

    cosa mi consigliate?
    come strutturare queste classi?
    grazie.
    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    inoltre
    E' corretto creare una classe unica che incapsula tutte le caratteristiche di quell' entità? magari la logica e i computi oltre che la rappresentazione grafica?
    grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.