NDEVR
API Documentation
VehicleModel.h
1#pragma once
2#include "VehicleDatabase/Headers/DLLInfo.h"
3#include "Design/Headers/Model.h"
4namespace NDEVR
5{
6 class VehicleRecord;
32
37 class VEHICLE_DATABASE_API VehicleModel : public Model
38 {
39 public:
44 VehicleModel(const Model& model);
47 void setupFromRecord(const VehicleRecord& record);
50 void setVisuals(const Model& visuals);
53 void readModelFromFile(const File& f);
59 static constexpr StringView TypeName()
60 {
61 return "vehicle";
62 }
63 protected:
65 void setupModel();
66 };
67}
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Definition File.h:53
Model()
Default constructor. Creates an uninitialized Model.
Definition Model.h:365
The core String View class for the NDEVR API.
Definition StringView.h:58
VehicleModel(const Model &model)
Constructs a VehicleModel wrapping an existing Model.
void setVisuals(const Model &visuals)
Sets the 3D visual model used to display this vehicle.
void readModelFromFile(const File &f)
Reads and applies a 3D model file as the vehicle visual.
void setupModel()
Creates the model hierarchy structure for the vehicle.
VehicleModel()
Default constructor.
Model visuals()
Returns the child model containing the visual geometry.
void setupFromRecord(const VehicleRecord &record)
Configures this vehicle from a database record (dimensions, weight, etc.).
static constexpr StringView TypeName()
Returns the design type name used to identify vehicle models.
A read-only accessor for a single vehicle record within a VehicleDatabase, providing make,...
The primary namespace for the NDEVR SDK.
VehicleType
Enumeration of standard vehicle body type classifications.
@ e_mid_sized_sedan
Mid-sized sedan.
@ e_sport_convertible
Sport convertible.
@ e_sport_car
Sport car.
@ e_medium_duty_truck
Medium duty truck.
@ e_passenger_van_small
Small passenger van.
@ e_coupe
Coupe.
@ e_suv_small
Small SUV.
@ e_heavy_duty_truck
Heavy duty truck.
@ e_suv_large
Large SUV.
@ e_station_wagon
Station wagon.
@ e_sub_compact_sedan
Sub-compact sedan.
@ e_passenger_van_large
Large passenger van.
@ e_cargo_van_small
Small cargo van.
@ e_hatchback
Hatchback.
@ e_light_duty_truck
Light duty truck.
@ e_cargo_van_large
Large cargo van.
@ e_large_sedan
Large sedan.
@ e_mini_compact_sedan
Mini compact sedan.
@ e_compact_sedan
Compact sedan.