18 #include "pandabase.h" 20 #include "lightLensNode.h" 37 virtual void write(ostream &out,
int indent_level)
const;
40 const LPoint3 &from_object_point,
45 INLINE
void set_specular_color(
const LColor &
color);
48 INLINE
void set_attenuation(
const LVecBase3 &attenuation);
50 INLINE
const LPoint3 &get_point()
const;
51 INLINE
void set_point(
const LPoint3 &point);
53 virtual int get_class_priority()
const;
61 class EXPCL_PANDA_PGRAPHNODES CData :
public CycleData {
64 INLINE CData(
const CData ©);
69 return PointLight::get_class_type();
82 static void register_with_read_factory();
93 static void init_type() {
94 LightLensNode::init_type();
95 register_type(_type_handle,
"PointLight",
96 LightLensNode::get_class_type());
99 return get_class_type();
101 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
107 INLINE ostream &operator << (ostream &out,
const PointLight &light) {
112 #include "pointLight.I" A basic node of the scene graph or data graph.
This is the base class for all three-component vectors and points.
virtual const LColor & get_specular_color() const
Returns the color of specular highlights generated by the light.
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
A single page of data maintained by a PipelineCycler.
Base class for objects that can be written to and read from Bam files.
virtual TypeHandle get_parent_type() const
Returns the type of the container that owns the CycleData.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
virtual PandaNode * make_copy() const
Returns a newly-allocated Node that is a shallow copy of this one.
This template class calls PipelineCycler::read_unlocked(), and then provides a transparent read-only ...
virtual void write_datagram(BamWriter *, Datagram &) const
Writes the contents of this object to the datagram for shipping out to a Bam file.
This describes the structure of a single array within a Geom data.
This is a 4-by-4 transform matrix.
virtual bool get_vector_to_light(LVector3 &result, const LPoint3 &from_object_point, const LMatrix4 &to_object_space)
Computes the vector from a particular vertex to this light.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
virtual const LVecBase3 & get_attenuation() const
Returns the terms of the attenuation equation for the light.
This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_writ...
virtual void fillin(DatagramIterator &scan, BamReader *manager)
This internal function is intended to be called by each class's make_from_bam() method to read in all...
This is the base class for all three-component vectors and points.
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
virtual void xform(const LMatrix4 &mat)
Transforms the contents of this PandaNode by the indicated matrix, if it means anything to do so...
A derivative of Light and of Camera.
A class to retrieve the individual data elements previously stored in a Datagram. ...
TypeHandle is the identifier used to differentiate C++ class types.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A light originating from a single point in space, and shining in all directions.