CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdIesnaFile.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23// OdIesnaFile.h - interface for .ies file format reader module.
24
25#ifndef _OD_IESNAFILE_H_INCLUDED_
26#define _OD_IESNAFILE_H_INCLUDED_
27
28#include "RxModule.h"
29#include "RootExport.h"
30#include "Gi/GiLightTraits.h"
31
32#include "TD_PackPush.h"
33
35class OdGiGeometry;
36
44class ODRX_ABSTRACT FIRSTDLL_EXPORT OdIesnaFile : public OdRxObject
45{
46 public:
50 virtual double *vertAngles() const = 0;
54 virtual OdInt32 numVertAngles() const = 0;
58 virtual double *horzAngles() const = 0;
62 virtual OdInt32 numHorzAngles() const = 0;
66 virtual double **candelaDistribution() const = 0;
70 virtual double maxCandela() const = 0;
82 virtual bool isHorzAng90To270() const = 0;
83
87 virtual double getLumensLamp() const = 0;
88
92 virtual double getMultiplier() const = 0;
93
99 virtual double getValue(double theta, double phi) const = 0;
105 virtual double getValue_ipl(double theta, double phi) const = 0;
106
113 virtual void render(OdGiGeometry *pWD, double scale, OdInt32 interpolation = 0) const = 0;
114};
115
117
126{
127 public:
135 virtual OdIesnaFilePtr load(const OdChar *pFileName, OdDbBaseHostAppServices *pSvcs, OdDbBaseDatabase *pDb = nullptr) = 0;
136
144 virtual OdIesnaFilePtr load(OdStreamBufPtr& pStreamBuf, OdDbBaseHostAppServices* pSvcs, OdDbBaseDatabase* pDb = nullptr) = 0;
145};
146
148
149#include "TD_PackPop.h"
150
151#endif // _OD_IESNAFILE_H_INCLUDED_
OdRxObject OdDbBaseDatabase
OdSmartPtr< OdStreamBuf > OdStreamBufPtr
scale
OdSmartPtr< OdIesnaLoader > OdIesnaLoaderPtr
OdSmartPtr< OdIesnaFile > OdIesnaFilePtr
int OdInt32
#define ODRX_ABSTRACT
wchar_t OdChar
#define FIRSTDLL_EXPORT
Definition RootExport.h:39
virtual bool isHorzAng90To270() const =0
virtual double * horzAngles() const =0
virtual OdInt32 numHorzAngles() const =0
virtual double getValue(double theta, double phi) const =0
virtual double maxCandela() const =0
virtual double * vertAngles() const =0
virtual double getValue_ipl(double theta, double phi) const =0
virtual double ** candelaDistribution() const =0
virtual OdInt32 numVertAngles() const =0
virtual double getMultiplier() const =0
virtual void render(OdGiGeometry *pWD, double scale, OdInt32 interpolation=0) const =0
virtual OdGiWebLightTraits::WebSymmetry fileSymmetry() const =0
virtual double getLumensLamp() const =0
virtual OdGiWebLightTraits::WebFileType fileType() const =0
virtual OdIesnaFilePtr load(OdStreamBufPtr &pStreamBuf, OdDbBaseHostAppServices *pSvcs, OdDbBaseDatabase *pDb=nullptr)=0
virtual OdIesnaFilePtr load(const OdChar *pFileName, OdDbBaseHostAppServices *pSvcs, OdDbBaseDatabase *pDb=nullptr)=0