rfm2  22.0
A python-based rewrite of RenderMan for Maya
 All Classes Namespaces Files Functions Variables Pages
rfm2.vp.geo.projective_frustum.ProjectiveFrustum Class Reference
+ Inheritance diagram for rfm2.vp.geo.projective_frustum.ProjectiveFrustum:
+ Collaboration diagram for rfm2.vp.geo.projective_frustum.ProjectiveFrustum:

Public Member Functions

def __init__
 
def num_lights
 
def is_static
 
def vtx_buffer_count
 
def vtx_buffer
 
def idx_buffer
 
def opacity
 
def instance_enabled
 
def set_input_params
 
def set_connected_lights_data
 
def ordered_proj_vectors
 
- Public Member Functions inherited from rfm2.vp.geo.base.Vp2GeometryBase
def __init__
 
def defaulted_value
 
def is_static
 
def instance_draw_method
 
def instance_display_mode
 
def instance_vp2_primitive
 
def instance_enabled
 
def opacity
 
def get_input_params
 
def set_input_params
 
def vtx_buffer_count
 
def vtx_buffer
 
def has_uvs
 
def uv_buffer
 
def color_buffer
 
def idx_buffer
 

Static Public Member Functions

def validate
 

Public Attributes

 light_corners
 
 light_positions
 
 light_names
 
 transform_impacts_geometry
 
 can_draw_many_lights
 
 axis
 
 subdivisions
 
 mode
 
 directional
 
 shearX
 
 shearY
 
 apex
 
 useLightDirection
 
 width
 
 height
 
 radius
 
 edge
 
 scaleWidth
 
 scaleHeight
 
 left
 
 right
 
 top
 
 bottom
 
 depth
 
 leftEdge
 
 rightEdge
 
 topEdge
 
 bottomEdge
 
 base_shape
 
 shape_builder
 
- Public Attributes inherited from rfm2.vp.geo.base.Vp2GeometryBase
 id
 
 textured
 
 num_instances
 
 inst_display_mode
 
 inst_draw_method
 
 inst_index_buffer
 
 inst_vp_shader
 
 method
 
 kwargs
 
 is_deforming_when_transformed
 

Static Public Attributes

int nshapes = 4
 
int nedges = 4
 

Constructor & Destructor Documentation

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.__init__ (   self,
  jsondict 
)

Member Function Documentation

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.idx_buffer (   self,
  idx_buffer,
  num_vtx,
  start_idx,
  inst_idx 
)
Fill the provided index buffer to draw the shape.

Args:
- idx_buffer (omr.MIndexBuffer): un-allocated storage for our result.
- num_vtx (int): The total number of vertices in the VBO.
- startIdx (int): the index of our first vtx in the VBO
- item_idx (int): 0 = outer frustum, 1 = inner frustum, 2 = frustum edges

+ Here is the call graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.instance_enabled (   self,
  instance_idx 
)
Return the enable state of the instance/MRenderItem, potentially taking
named params into account.

Check the position of the light in Z to decide if it should draw.
def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.is_static (   self)
Tells the vp code if the geometry is static or deforming, like a spot
light frustum for example
def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.num_lights (   self)

+ Here is the caller graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.opacity (   self)
def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.ordered_proj_vectors (   self,
  light_idx 
)
Generator to get the vectors from one corner of a light filter to
another corner of the light.

+ Here is the caller graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.set_connected_lights_data (   self,
  this_obj 
)
Get data from connected lights to be able to draw the frustum.

- For each connected light
  - compute its matrix in filter-space
  - compute the position of the light's corners in filter-space and store
    them for later use.

Args:
- this_obj (om.MObject): The maya object

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.set_input_params (   self,
  obj,
  kwargs 
)
Update internal input param values using kwargs.

+ Here is the call graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.validate (   subdivs)
static
def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.vtx_buffer (   self)
Return a list of vertices (list) in local space.

Use the vtx_list (the original light shape) to build the outer coneAngle
at the specified depth.

+ Here is the call graph for this function:

def rfm2.vp.geo.projective_frustum.ProjectiveFrustum.vtx_buffer_count (   self)
Return the number of vertices in this buffer.

+ Here is the call graph for this function:

Member Data Documentation

rfm2.vp.geo.projective_frustum.ProjectiveFrustum.apex
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.axis
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.base_shape
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.bottom
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.bottomEdge
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.can_draw_many_lights
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.depth
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.directional
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.edge
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.height
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.left
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.leftEdge
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.light_corners
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.light_names
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.light_positions
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.mode
int rfm2.vp.geo.projective_frustum.ProjectiveFrustum.nedges = 4
static
int rfm2.vp.geo.projective_frustum.ProjectiveFrustum.nshapes = 4
static
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.radius
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.right
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.rightEdge
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.scaleHeight
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.scaleWidth
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.shape_builder
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.shearX
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.shearY
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.subdivisions
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.top
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.topEdge
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.transform_impacts_geometry
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.useLightDirection
rfm2.vp.geo.projective_frustum.ProjectiveFrustum.width

The documentation for this class was generated from the following file: